On 17 okt 2006, at 11:22, Vinzent Hoefler wrote:
The pthread_cond_wait() function atomically unlocks the mutex
argument
and waits on the cond argument.
So the mutex should already be unlocked afterwards.
If you would have read a couple of lines further you also would have
found:
|Before returning to the calling thread, pthread_cond_wait re-acquires
|mutex (as per pthread_lock_mutex).
That is not on the Mac OS X man page for pthread_cond_wait. See
http://www.hmug.org/man/3/pthread_cond_wait.php
Further, what is
the lock/unlock for in the intRTLEventSetEvent? pthread_cond_signal
can perfectly deal with multiple threads simultaneously signalling
the same condition variable (pthreads is a multithreading api, not a
random non-reentrant piece of code).
Oh, is it? Read the f*cking man page:
Again, this is not on the Mac OS X man page:
http://www.hmug.org/man/3/pthread_cond_signal.php
Not sure if this means it's not necessary in the Mac OS X (and
possibly FreeBSD) versions, or that the Mac OS X man pages are
incomplete.
Jonas
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel