Message132238
| Author |
pitrou |
| Recipients |
asksol, brian.curtin, jnoller, kristjan.jonsson, pitrou, tim.golden |
| Date |
2011年03月26日.13:49:23 |
| SpamBayes Score |
0.00033872775 |
| Marked as misclassified |
No |
| Message-id |
<1301147360.3518.2.camel@localhost.localdomain> |
| In-reply-to |
<1301112599.9.0.556991061776.issue11668@psf.upfronthosting.co.za> |
| Content |
Are you sure about MP_EXCEPTION_HAS_BEEN_SET?
semaphore.c has a more sophisticated logic:
Py_BEGIN_ALLOW_THREADS
ResetEvent(sigint_event);
res = WaitForMultipleObjects(2, handles, FALSE, msecs);
Py_END_ALLOW_THREADS
/* handle result */
if (res != WAIT_OBJECT_0 + 1)
break;
/* got SIGINT so give signal handler a chance to run */
Sleep(1);
/* if this is main thread let KeyboardInterrupt be raised */
if (PyErr_CheckSignals())
return NULL;
/* recalculate timeout */
if (msecs != INFINITE) {
ticks = GetTickCount();
if ((DWORD)(ticks - start) >= full_msecs)
Py_RETURN_FALSE;
msecs = full_msecs - (ticks - start);
} |
|