On Thu, 7 Apr 2005, Zera William Holladay wrote:

On Thu, 7 Apr 2005, Peter Jeremy wrote:
These are all reasonably well documented in sys/conf/NOTES.  If you
want more detail, try a SystemV-oriented Unix book

Close - they only control SystemV shared memory.  Sane shared memory
is available via mmap(2).  SystemV semaphores are controlled via
SEMxxx options.  Posix semaphores are listed as 'experimental'.

Is there any chance that POSIX semaphores will be anything other than experimental in the future, or is there no interest? Further, the man page indicates that the FreeBSD, POSIX semaphore implementation is not capable of supporting multiple process semaphores. I saw a similar note on a Linux man page. I think this is a shame, since POSIX semaphores seem to be well designed (from a user point of view) compared to SYSV semaphores, which are a total mess.

I haven't read the man page recently, but I've used our POSIX semaphores in an inter-process form successfully, and fixed a bug in them relating to fork relatively recently. My understanding is that some issues may remain in the handling of error cases when semaphore support isn't present -- whether the process is terminated, or gets ENOSYS, depending on whether the program is linked against libpthread or not. The fix for fork() handling will be present in 5.4-RELEASE.


Robert N M Watson
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to