James Y Knight
foom at fuhm.net
Fri Nov 19 14:27:08 EST 2004
On Nov 18, 2004, at 6:29 PM, Bob Ippolito wrote:
> It also calls (or at least used to call) stopReading and stopWriting
> immediately after a TCP client connection is made, and then calls
> startReading and startWriting again.. which causes the wrapper to get
> thrown away, so it might miss notifications in the meantime.
That shouldn't matter in a level-triggered system: it'll call back
every time the socket is readable/writable, not just the first time.
Thus, missing a notification because the user asked to not receive them
for a while is okay.
> I think it already uses weakrefs, but I was never confident that they
> would go away at the right time, and from recent python-dev threads,
> it doesn't sound like it's a good thing to depend on at all any time
> soon :)
I think all the problems were related to weakref objects being disposed
of during GC. As long as all your weakrefs are strongly referenced from
the module level, I believe they should be safe.
More information about the Twisted-Python