diff options
author | Kristján Valur Jónsson <sweskman@gmail.com> | 2013-03-20 03:18:37 (GMT) |
---|---|---|
committer | Kristján Valur Jónsson <sweskman@gmail.com> | 2013-03-20 03:18:37 (GMT) |
commit | dc32d18d1127112fcc9033cd9a065bf3457176ec (patch) | |
tree | 9024f1f293084637fe2c26051c705a3fc7d6168e | |
parent | f47e77f3437948992c0c9e0cdca481d59ebc14fa (diff) | |
download | cpython-dc32d18d1127112fcc9033cd9a065bf3457176ec.zip cpython-dc32d18d1127112fcc9033cd9a065bf3457176ec.tar.gz cpython-dc32d18d1127112fcc9033cd9a065bf3457176ec.tar.bz2 |
Issue #15038 : Fixing the condition broadcast and docs.
-rw-r--r-- | Python/condvar.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/Python/condvar.h b/Python/condvar.h index fe6bd74..bbb40ba 100644 --- a/Python/condvar.h +++ b/Python/condvar.h @@ -163,10 +163,9 @@ PyCOND_TIMEDWAIT(PyCOND_T *cond, PyMUTEX_T *mut, long us) Generic emulations of the pthread_cond_* API using earlier Win32 functions can be found on the Web. - The following read can be edificating (or not): + The following read can be give background information to these issues, + but the implementations are all broken in some way. http://www.cse.wustl.edu/~schmidt/win32-cv-1.html - - See also */ typedef CRITICAL_SECTION PyMUTEX_T; @@ -297,9 +296,10 @@ PyCOND_SIGNAL(PyCOND_T *cv) Py_LOCAL_INLINE(int) PyCOND_BROADCAST(PyCOND_T *cv) { - if (cv->waiting > 0) { - return ReleaseSemaphore(cv->sem, cv->waiting, NULL) ? 0 : -1; - cv->waiting = 0; + int waiting = cv->waiting; + if (waiting > 0) { + cv->waiting = 0; + return ReleaseSemaphore(cv->sem, waiting, NULL) ? 0 : -1; } return 0; } |