[ZODB-Dev] Leaking file descriptors in ZEO tests

Dieter Maurer dieter at handshake.de
Thu Aug 28 13:50:18 EDT 2008


Christian Theune wrote at 2008-8-27 16:40 +0200:
>I located an issue with leaking file descriptors in the ZEO tests and
>have a simple proposal how to fix it. (I can imagine a better way to
>exist but can't see one right now.)
>
>Here's what happens:
>
>- The (single) thread in the client process uses a
>  ManagedClientConnection.
>
>- The __init__ of ManagedClientConnection's super class causes a trigger
>  to be created which will then be replaced with a shared trigger by
>  ManagedClientConnection's __init__.
>
>- Unfortunately at this time the trigger that got temporarily created
>  won't be garbage collected (or at least the file descriptor won't be),
>  as asyncore holds a shared, module-global map of file descriptor
>  numbers to file descriptor objects.
>
>I fixed it for me by explicitly closing the trigger in
>ManagedClientConnection before replacing it with the shared one.

Sounds not bad.



-- 
Dieter


More information about the ZODB-Dev mailing list