Error in sem_init (cygwin-1.1.7-1)
Torben Nielsen
trn@terma.com
Wed Jan 3 07:44:00 GMT 2001
Hi!
The following code sequence fails (does not wait):
sem_t sem;
sem_init(&sem, 0, 0);
sem_wait(&sem);
I believe the reason is found in ./winsup/cygwin/thread.cc line 437 (20001228 snapshot):
item->win32_obj_id = ::CreateSemaphore (&sec_none_nih, _v, _v, NULL);
The third parameter is the maximum count for the semaphore, and it is not allowed to be zero or less
according to Microsofts documentation. If I replace this line with
item->win32_obj_id = ::CreateSemaphore (&sec_none_nih, _v, LONG_MAX, NULL);
the above example works just fine. If possible, I would like a comment on this.
Regards, Torben Nielsen
--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin
mailing list