In article 
<a66896a7-3fac-40c9-9051-6ae9eb2ce...@r15g2000prh.googlegroups.com>,
 TheDavidFactor <thedavidfac...@gmail.com> wrote:

> I have double checked that it is closing the socket. I don't know what 
> else to check, any suggestions would be much appreciated.

All of the symptoms you report point to sockets not getting closed.  What 
does "double checked" mean?  Don't rely on __del__() closing sockets, 
because __del__() may never get called.

Here's a few ways to look for sockets that aren't getting closed:

1) Run netstat.

2) Look in /proc.

3) This is the cute one; iterate over all possible descriptors from 0 to 
`ulimit -n`.  For each one, dup() it, then close the dupe.  If dup() didn't 
raise an exception, the descriptor was valid.  Count the ones that don't 
fail, and you know how many descriptors are open at any time.  This is 
useful for tracking descriptor leaks (which sounds like what you've got).
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to