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 | +------------------+--------------------------+-------------------------+