Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

sem_init(3R)

sem_open(3R)

sem_unlink(3R)

sem_close(3R)

NAME

sem_close − close a named semaphore

SYNOPSIS

cc [ flag ... ] file ... −lposix4 [ library ... ]

#include <semaphore.h>

int sem_close(sem_t ∗sem);

typedef struct {
...
} sem_t; /∗opaque POSIX.4 semaphore∗/

MT-LEVEL

MT-Safe

DESCRIPTION

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). 

RETURN VALUES

If successful, sem_close() returns 0, otherwise it returns -1 and sets errno to indicate the error condition. 

ERRORS

EINVAL sem is not a valid semaphore descriptor. 

ENOSYS sem_close() is not supported by this implementation. 

SEE ALSO

sem_init(3R), sem_open(3R), sem_unlink(3R)

BUGS

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. 

SunOS 5.5/SPARC  —  Last change: 9 Aug 1993

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