From: "Aaron Bannert" <[EMAIL PROTECTED]> Sent: Tuesday, July 31, 2001 2:21 PM
> I've been looking into this over the last few days and although I'm > totally in favor of adding condition variables to APR, I'm not yet > convinced that we can properly implement them on non-POSIX platforms > without some level of kernel support. There is one specific place where > I'm seeing a problem: > > - cond_wait() takes a locked mutex that is associated with the cond. > - it will unlock that mutex and go to sleep > - when it awakens it must immediately reacquire that mutex (awaken() and > acquire() must be a single atomic operation) > - finally, cond_wait() returns. > > Does anyone know of a way around this without some sort of kernel support > to make those two operations atomic? This seems like a serious potential > for race/deadlocks. Oh duh, this is a breeze on win32 [except that cond's themselves must be implemented.] http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/hh/winbase/synchro_5h2s.asp
