On 04/09/2012 16:26, loial wrote:
I have threaded python script that uses sockets to monitor network
ports.

I want to ensure that the socket is closed cleanly in all
circumstances. This includes if the script is killed or interupted in
some other way.

As I understand it signal only works in the main thread, so how can I
trap interupts in my threaded class and always ensure I close the
socket? Using KeyboardInterupt does not seem to work.

You could wrap it in try...finally. The 'finally' clause is guaranteed
to be run, so you can close the sockets there.

However, if the script is just killed, then it won't get the chance to
tidy up.
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to