Sign in to follow this  

Does Linux Support XSI Semaphores?

Recommended Posts

Catafriggm    296
I have the Linux (and, in this case, glibc) source right here, but it's kind of ambiguous. I see a couple different versions of the functions, one which makes the system call for the functions, like it should, and another that is an ENOSYS-throwing stub. So, which is it?

Share this post

Link to post
Share on other sites
MaulingMonkey    1728
Google says yes.

I havn't used XSI semaphores myself, but some manpages turn up which appear to support the fact that they work.

That manpage didn't seem to mention what standard(s) semop conforms to, so I asked my own manpage:

panda@industry~$ man semop
[ ... ]
SVr4, SVID. SVr4 documents additional error conditions
[ ... ]

I'm not exactly a *nix standards expert, but unless I'm mistaken, SVID is also known as System V, which is a common IPC standard supported by linux, and I think SVr4 might be SVID's precursor. The fact that man -k semaphore only returns these, and specialized manpages (Qt semaphores, ipcclean which is related to PostgreSQL, and lockfile) leads me to suspect that I'm right.

Also, linux is extremely configurable if you're building from source - it's possible to include or not include support for just about anything. If you're looking directly at the source, you might be looking at the different versions for "compiled in" and "not compiled in", with the ENOSYS stubs being for allowing applications to run without missing symbols, and prehaps fall back to other IPC mechanisms should XSI's fail.

Sorry I can't give a more definitive answer, but I hope this helps :-).

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this