W dniu 02.12.2010 18:28, Roger Hoover pisze: > Thank you, Grzegorz. I looked over the patch and I don't see why the > outer reference counter is required. It deletes the managed socket > from the SocketManager.sockets dictionary but why does that need to > happen? Would there be a problem if that reference stayed in place?
What I intended was to close the socket as soon as possible, but indeed, the internal reference counter (inside ManagedSocket) should take care of it. OTOH, wouldn't leaving the references there cause a memory "leak" (not really but you get the point) if we simply stopped using a socket (removed a fcgi-program completely and called supervisorctl update)? I expect this would cause SocketManager.sockets to grow over time. Weak references are the perfect match for this but IIRC supervisord aims for Python 2.3 compatibility so we cannot rely on weak references to objects containing sockets[1]. If I'm mistaken, using weakrefs would be the way to go IMHO. Best regards, Grzegorz Nosek 1. http://docs.python.org/library/weakref.html: Changed in version 2.4: Added support for files, sockets, arrays, and patterns. _______________________________________________ Supervisor-users mailing list Supervisor-users@lists.supervisord.org http://lists.supervisord.org/mailman/listinfo/supervisor-users