sem_close(3R) manual page
Table of Contents
sem_close - close a named semaphore
cc [ flag ... ] file ... -lposix4
[ library ... ]
#include <semaphore.h>
int sem_close(sem_t *sem);
typedef struct
{
...
} sem_t; /*opaque POSIX.4 semaphore*/
MT-Safe
sem_close()
is used to indicate that the calling process is finished using the named
semaphore sem. sem_close() deallocates any system resources for use by
this process for this semaphore. If the semaphore has not been removed with
a successful call to sem_unlink(3R)
, then sem_close() has no effect on
the state of the semaphore. If sem_unlink(3R)
has been successfully invoked
for name after the most recent call to sem_open(3R)
with O_CREAT for this
semaphore, then when all processes that have opened the semaphore close
it, the semaphore will no longer be accessible.
sem_close() should not be
called for an unnamed semaphore initialized by sem_init(3R)
.
If
successful, sem_close() returns 0, otherwise it returns -1 and sets errno
to indicate the error condition.
- EINVAL
- sem is not a valid semaphore
descriptor.
- ENOSYS
- sem_close() is not supported by this implementation.
sem_init(3R)
, sem_open(3R)
, sem_unlink(3R)
In Solaris 2.5, these
functions always return -1 and set errno
to ENOSYS,
because this release
does not support the Semaphores option. It is our intention to provide support
for these interfaces in future releases.
Table of Contents