Function - Wait on the specified semaphore.
[in send right] The port naming the semaphore that the wait operation is being performed upon.
The semaphore_wait function decrements the semaphore count. If the
semaphore count is negative after decrementing, the calling thread
blocks. Device driver interrupt service routines (ISR) should never
execute semaphore_wait, since waiting on a semaphore at the ISR level
may, and often will, lead to a deadlock.
The specified semaphore is invalid.
The specified semaphore has been destroyed.
The caller was blocked due to a negative count on the semaphore, and was
awoken for a reason not related to the semaphore subsystem
The semaphore wait operation was successful.