[cgl_discussion] Project Review: POSIX Semaphores

Gustafson, Geoffrey R geoffrey.r.gustafson at intel.com
Thu Sep 12 09:26:43 PDT 2002

Project Review for POSIX Semaphores

1. Quote the requirements from the requirements doc
   that your project is expected to meet.

POSIX Interface Compliance
OSDL CGL shall provide POSIX-compatible interfaces to support direct porting
of common carrier grade applications.  OSDL CGL shall follow the 2001 POSIX
standard where it supersedes the standards cited in the following

Requirement: 1.2.4 POSIX Semaphore Interface Standard Compliant
	Version Assignment:  Core 1.1
Application Type:  G,S,M
Description: 	OSDL CGL shall extend the Linux semaphore support to enable
and fully comply with the following standards:  
·	POSIX, Section 11 - Synchronization (Semaphore)
·	IEEE 1003.1b - 1993, Section 11.1, 11.2 (Semaphore) amendment
·	IEEE 1003.1d - 1999, Section 11.2 (Semaphore) amendment
·	IEEE 1003.1j - 2000, Section 11.1, 11.2 (Semaphore) amendment
·	IEEE 1003.1q - 2000, No amendment
All APIs in sections 11.1 and 11.2 as they apply to semaphore handling shall
b provided. It shall include all required modifications to the internal
kernel message queue handling.

2. Explain how you think the project meets the
   above requirements.

   The posix1b project taken from http://www.garret.ru/~knizhnik/
   provides a user-space library wrapper around the existing Linux
   semaphores to provide the POSIX APIs. Some work may still be
   needed to get it up to the 2001 spec; we are working on completing
   a validation suite to evaluate this. So far all tests have
   succeeded but these may be incomplete.

3. Explain the design of the project or point to
   a document on the web that explains the design.

   The design is a fairly simple translation of POSIX semaphore APIs
   into corresponding Linux semaphore APIs. A user-space static .a
   library is built which must be linked into client applications.

   Currently this implementation contains some extraneous APIs as well
   so these should be removed.

4. Pointer to the code/patch.



More information about the cgl_discussion mailing list