I just saw a strange stuff : in sysv_sem.cc (cygserver) at end of
semop
function (:done2 label), the mutex is released after waking up waiting
process, shouldn't it be the inverse ?
No, the mtx_unlock is correct. If you're looking for bugs, they are
very
likely in the bsd_* files in cygserver. Even though the sysv_* files
taken
from FreeBSD are not proved to be 100% correct, there's a high
probability
that I produced the bug in some of the bsd emulation functions.
msleep is
a good candidate, FWIW.
Any active debugging or tracking down the bug is highly appreciated,
probably not only by me.