On 12/6/05, Eric Welch <email@hidden> wrote: Miguel,
For some time OSX has had Posix thread support including semaphores.
In that case, my app has a very strange behaviour on OSX, I make use
of sem_init(), sem_wait() & sem_post(), and in OSX my threads never
wait on sem_wait().
MacOS X supports named POSIX semaphores, but not unnamed POSIX
I expect you must be trapping SIGSYS to prevent your program exiting
because of an unsupported system call on the call to sem_init(), since
it's implementation is a return of the error ENOSYS.
I googled after that problem and saw a lot of "OSX doesn't support
POSIX Semaphores", after which I irresponsibly stopped looking for
the cause of the problem. Apparently that could be the case in OSX
10.3, but I'm using 10.4.
Is there any kind of peculiarity in how I should use posix
semaphores? (header files, semaphore inicialization or linker
The first thing you should do is #include <unistd.h> and
conditionalize your use of POSIX semaphores on the manifest constant
#if ((_POSIX_SEMAPHORES - 200112L) >= 0)
/* This platform fully supports POSIX semaphores */
/* This platform can support POSIX named semaphores, but not
unnamed semaphores */
/* this platform requires that I Google code for P/V semaphores
and include it here */
The proper list was more likely "unix-porting", but that's OK; this
question comes up from time to time.
Do not post admin requests to the list. They will be ignored.
Darwin-kernel mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden