12. Semaphore Manager# 12.1. Introduction 12.2. Background 12.2.1. Nested Resource Access 12.2.2. Priority Inheritance 12.2.3. Priority Ceiling 12.2.4. Multiprocessor Resource Sharing Protocol 12.2.5. Building a Semaphore Attribute Set 12.2.6. Building a SEMAPHORE_OBTAIN Option Set 12.3. Operations 12.3.1. Creating a Semaphore 12.3.2. Obtaining Semaphore IDs 12.3.3. Acquiring a Semaphore 12.3.4. Releasing a Semaphore 12.3.5. Deleting a Semaphore 12.4. Directives 12.4.1. rtems_semaphore_create() 12.4.2. rtems_semaphore_ident() 12.4.3. rtems_semaphore_delete() 12.4.4. rtems_semaphore_obtain() 12.4.5. rtems_semaphore_release() 12.4.6. rtems_semaphore_flush() 12.4.7. rtems_semaphore_set_priority()