Content-type: text/html
int msem_remove (
msemaphore *sem );
The msem_remove() function removes a binary semaphore. Any subsequent use of the msemaphore structure before it is again initialized by calling the msem_init() function will have undefined results.
The msem_remove() function also causes any process waiting in the msem_lock() function on the removed semaphore to return with an error.
If the msemaphore structure contains any value not resulting from a call to the msem_init() function followed by a (possibly empty) sequence of calls to the msem_lock() and msem_unlock() functions, the result is undefined. The address of an msemaphore structure may be significant. If the msemaphore structure contains any value copied from an msemaphore structure at a different address, the result is undefined.
On successful completion, the msem_remove() function returns 0 (zero). On error, the msem_remove() function returns -1 and sets errno to indicate the error.
If the msem_remove() function fails, errno may be set to the following value: The sem parameter points to an msemaphore structure which specifies a semaphore which has been removed.
Functions: msem_init(3), msem_lock(3), msem_unlock(3), munmap(2) delim off