sem_close(3C)

sem_close - close a posix named semaphore

As shipped in IRIX 6.5.30. Unchanged since IRIX 6.5.

NAME
     sem_close - close a posix named semaphore

SYNOPSIS
     #include <semaphore.h>
     int sem_close (sem_t *sem);

DESCRIPTION
     sem_close closes the connection to the named semaphore located at address
     sem.  The address sem may reside anywhere in the calling processes
     address space, but the process must have read and write access to sem.

     If multiple threads within a common process (i.e., sprocs, pthreads) are
     sharing sem, a single call to sem_close will close the named semaphore
     for all threads within the calling process.

     Once a named semaphore has been closed, subsequent operations on the
     semaphore by the calling process will fail until the semaphore has been
     reopened.

     If the calling process was the last process to close the semaphore, and
     the semaphore has been unlinked via sem_unlink, then the named semaphore
     will cease to exist.  Otherwise, the semaphore will persist.

     sem_close will fail if the following is true:

     [EINVAL]       The semaphore located at address sem is not a valid posix
                    named semaphore.

SEE ALSO
     sem_destroy(3C), sem_init(3C), sem_getvalue(3C), sem_post(3C),
     sem_wait(3C), sem_trywait(3C), sem_open(3C), sem_unlink(3C),
     shm_open(3C), mmap(3C)

DIAGNOSTICS
     Upon successful completion, a value of 0 is returned to the calling
     process. Otherwise, a value of -1 is returned and errno is set to
     indicate the error.