sockets,threads and interupts

MRAB python at mrabarnett.plus.com
Tue Sep 4 13:06:17 EDT 2012


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.



More information about the Python-list mailing list