Message285734
Sending SIGTERM (CTRL+c, KeyboardInterrupt) while Python is waiting in threading.Thread.join() is not supported.
You have a thread running time.sleep(1). On Linux, this function calls the select() syscall. So you have the main thread waiting for the thread state lock, and a thread waiting in select(). If SIGTERM is received in the main thread, you enter a weird state of the threading module.
Python has a signal.pthread_kill() which might help to only send a signal to a specific thread, but I don't know exactly how Python behaves, since Python wants to execute Python signal handles in the main thread... |
|
Date |
User |
Action |
Args |
2017-01-18 15:04:53 | vstinner | set | recipients:
+ vstinner, gvanrossum, yselivanov, rsebille |
2017-01-18 15:04:53 | vstinner | set | messageid: <1484751893.18.0.663135679486.issue29309@psf.upfronthosting.co.za> |
2017-01-18 15:04:53 | vstinner | link | issue29309 messages |
2017-01-18 15:04:52 | vstinner | create | |
|