[Python-Dev] Status of thread cancellation

Jon Ribbens jon+python-dev at unequivocal.co.uk
Mon Mar 19 16:28:33 CET 2007

Nick Maclaren <nmm1 at cus.cam.ac.uk> wrote:
> Sockets, terminals etc. are stateful devices, and killing a process
> can leave them in a very unclean state.  It is one of the most
> common causes of unkillable processes (the process can't go until
> its files do, and the socket is jammed).

Can you elaborate on this? You can get zombie entries in the process
table if nobody's called 'wait()' on them, and you can (extremely
rarely) get unkillable process in 'disk-wait' state (usually due to
hardware failure or a kernel bug, I suspect), but I've never heard
of a process on a Unix-like system being unkillable due to something
to do with sockets (or any other kind of file descriptor for that
matter). How could a socket be 'jammed'? What does that even mean?

More information about the Python-Dev mailing list