sockets,threads and interupts
Grant Edwards
invalid at invalid.invalid
Tue Sep 4 14:11:12 EDT 2012
More information about the Python-list mailing list
Tue Sep 4 14:11:12 EDT 2012
- Previous message (by thread): sockets,threads and interupts
- Next message (by thread): sockets,threads and interupts
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 2012-09-04, MRAB <python at mrabarnett.plus.com> wrote: > 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. That depends on the signal used to "kill" the thread. You can catch SIGTERM and SIGINT and clean up before exiting. You can't catch SIGKILL, but sending a SIGKILL isn't considered polite unless you've already tried SIGTERM/SIGINT and it didn't work. -- Grant Edwards grant.b.edwards Yow! Are we on STRIKE yet? at gmail.com
- Previous message (by thread): sockets,threads and interupts
- Next message (by thread): sockets,threads and interupts
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list