Message131669
Btw, the locktimeout.patch appears to have a race condition. LeaveNonRecursiveMutex may SetEvent when there is no thread waiting (because a timeout just occurred, but the thread on which it happened is still somewhere around line #62 ). This will cause the next WaitForSingleObject() to succeed, when it shouldn't.
It is this race between the timeout occurring, and the ability of us being able to register that in the lock's bookkeeping, that is the source of all the race problems with the timeout. This is what prompted me to submit the condition variable version. |
|
Date |
User |
Action |
Args |
2011-03-21 15:51:37 | kristjan.jonsson | set | recipients:
+ kristjan.jonsson, loewis, pitrou, tim.golden, brian.curtin, sbt |
2011-03-21 15:51:37 | kristjan.jonsson | set | messageid: <1300722697.23.0.499824948319.issue11618@psf.upfronthosting.co.za> |
2011-03-21 15:51:36 | kristjan.jonsson | link | issue11618 messages |
2011-03-21 15:51:36 | kristjan.jonsson | create | |
|