Message133957
| Author |
vstinner |
| Recipients |
pitrou, python-dev, vstinner |
| Date |
2011年04月18日.10:02:09 |
| SpamBayes Score |
1.959291e-06 |
| Marked as misclassified |
No |
| Message-id |
<1303120932.5.0.749044510538.issue11768@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
It looks like pthread_mutex_lock() and pthread_mutex_unlock() are not reentrant on some platforms (in some implementations of the pthread API).
Antoine: if I understand correctly your patch, if we have a pending signal, all next signals will be simply ignored.
I think that this issue is not specific to Mac OS X: signal_handler() can be called twice at the same time in two different threads or in the same thread (reentrant call).
pthread_sigmask() can be used to avoid reentrant call, but it has no effect on the second case: "signal_handler() called twice at the same time in two different threads".
Note: SA_NODEFER flag of sigaction() has no effect on this issue because signal_handler() is called twice to handle two different signals (SIGUSR1 and SIGUSR2). |
|
History
|
|---|
| Date |
User |
Action |
Args |
| 2011年04月18日 10:02:12 | vstinner | set | recipients:
+ vstinner, pitrou, python-dev |
| 2011年04月18日 10:02:12 | vstinner | set | messageid: <1303120932.5.0.749044510538.issue11768@psf.upfronthosting.co.za> |
| 2011年04月18日 10:02:10 | vstinner | link | issue11768 messages |
| 2011年04月18日 10:02:10 | vstinner | create |
|