Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

msem_init(2)

msem_lock(2)

msem_remove(2)

mman(5)

msem_remove(2)

NAME

msem_remove − remove a semaphore in mapped file or anonymous region

SYNOPSIS

#include <sys/mman.h>

int *msem_remove(msemaphore *sem);

DESCRIPTION

msem_remove() removes a binary semaphore. 

sem points to an msemaphore structure that specifies the semaphore to be removed.  Any subsequent use of the msemaphore structure before it is again initialized by calling msem_init() produces undefined results. 

msem_remove() 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 msem_init() followed by a (possibly empty) sequence of calls to msem_lock() and msem_unlock(), the results are undefined.  The address of an msemaphore uniquely identifies the semaphore.  If the msemaphore structure contains any value copied from a msemaphore structure at a different address, the result is undefined. 

RETURN VALUE

Upon success, msem_remove() returns zero; otherwise, it returns −1 and sets errno to indicate the error. 

ERRORS

msem_remove() fails if any of the following conditions are encountered:

[EINVAL] sem points to an msemaphore structure that has been removed. 

[EFAULT] sem is an invalid pointer. 

AUTHOR

msem_remove() was developed by HP and OSF. 

SEE ALSO

msem_init(2), msem_lock(2), msem_remove(2), mman(5). 

STANDARDS CONFORMANCE

msem_remove(): AES

Hewlett-Packard Company  —  HP-UX Release 9.0: August 1992

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026