Message133942
> The main thread was waiting test_signals() lock (signalled_all)
> while it is was interrupted by a signal. The signal handler calls
> Py_AddPendingCall() which blocks on acquiring "pending_lock".
Oh, the main thread receives SIGUSR1: the signal handler calls Py_AddPendingCall() to process it later. But while calling Py_AddPendingCall(), it receives a SIGUSR2: the same signal handler is called, and it calls Py_AddPendingCall().
And we have a deadlock because we try to acquire the lock twice, or try to acquire the lock before the lock was released. |
|
Date |
User |
Action |
Args |
2011-04-17 23:27:40 | vstinner | set | recipients:
+ vstinner, python-dev |
2011-04-17 23:27:40 | vstinner | set | messageid: <1303082860.22.0.443264505113.issue11768@psf.upfronthosting.co.za> |
2011-04-17 23:27:36 | vstinner | link | issue11768 messages |
2011-04-17 23:27:36 | vstinner | create | |
|