I've found the problem. It looks like
the
pthreads-win32 coders already know about it,
as
it is commented in the set_getvalue.c source
file:
/*
Note:
* The windows NT
documentation says that the increment must
be
* greater than zero, but it is
set to zero here. If this works,
*
the function will return true. If not, we can't do it this
way
* so flag it as not
implemented.
*/
It has to do with the differences between the
Win98
and Win NT implementation of the function
ReleaseSemaphore(). For the record, I ran the same
piece of
code on 98 and NT platforms, and the sem_getvalue()
function
does *not* work on NT (*as was
suspected).
Thanks again everyone
Rob