I'd like to understand the rationale that makes POSIX sempahores a
non-optional component of the kernel, while POSIX message queues are
still optional.  Both seem to be related specifically to use in the
librt real-time library.

P1003_1B_SEMAPHORE option was removed about 3 1/2 years ago [1] by
Joerg, but I don't seem to see any discussion on this.  And yet, we
still have MQUEUE as an option.

Yes, MQUEUE is still automatically included by default, via
src/sys/conf/std, but it can be removed by adding 'no option MQUEUE'
to a custom kernel config.  There is no corresponding way to remove
the semaphore code from a kernel, since it is now included in the
kern 'package'.

Why is one optional/removeable, and the other required/mandatory?  Is
there some other component within the kernel that depends heavily on
the semaphore code (I've looked, but haven't found it)?


[1] http://mail-index.netbsd.org/source-changes/2012/03/10/msg032675.html

+------------------+--------------------------+-------------------------+
| Paul Goyette     | PGP Key fingerprint:     | E-mail addresses:       |
| (Retired)        | FA29 0E3B 35AF E8AE 6651 | paul at whooppee.com    |
| Kernel Developer | 0786 F758 55DE 53BA 7731 | pgoyette at netbsd.org  |
+------------------+--------------------------+-------------------------+

Reply via email to