This is the mail archive of the
cygwin@sources.redhat.com
mailing list for the Cygwin project.
Error in sem_init (cygwin-1.1.7-1)
- To: "'cygwin at cygwin dot com'" <cygwin at cygwin dot com>
- Subject: Error in sem_init (cygwin-1.1.7-1)
- From: Torben Nielsen <trn at terma dot com>
- Date: Wed, 3 Jan 2001 16:37:01 +0100
- Cc: "'trn at terma dot com'" <trn at terma dot com>
- Organization: TERMA Elektronik AS
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