Opened 16 years ago
Closed 16 years ago
#2221 defect closed duplicate (duplicate)
MotdResource gets stale in finger15.py
Reported by: | gfalcon | Owned by: | Stephen Thorne |
---|---|---|---|
Priority: | low | Milestone: | |
Component: | core | Keywords: | documentation tutorial |
Cc: | Branch: | ||
Author: |
Description
In listings/finger/finger15.py, MotdResource
is constructed by being passed a users dictionary object.
However, 30 seconds later, in FingerService._read
, the dictionary is updated by throwing it away and constructing a new one. MotdResource
has no way of knowing this, and maintains a reference to the original, now-stale dictionary.
I think the easiest fix is to add the line
self.users={}
to FingerService.__init__
, and replacing said line in FingerService._read
with
self.users.clear()
,
modifying the singleton dictionary in place so that MotdResource
dictionary reference remains fresh.
Note: See
TracTickets for help on using
tickets.
I'm marking this as a duplicate of #2205 because I'm writing unit tests for this code in #2205's branch. Many such bugs as you've noted here have been found through writing of tests.