Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

sem_close(3rt) [sunos man page]

sem_close(3RT)						    Realtime Library Functions						    sem_close(3RT)

NAME
sem_close - close a named semaphore SYNOPSIS
cc [ flag... ] file... -lrt [ library... ] #include <semaphore.h> int sem_close(sem_t *sem); DESCRIPTION
The sem_close() function is used to indicate that the calling process is finished using the named semaphore indicated by sem. The effects of calling sem_close() for an unnamed semaphore (one created by sem_init(3RT)) are undefined. The sem_close() function deallocates (that is, make available for reuse by a subsequent sem_open(3RT) by this process) any system resources allocated by the system for use by this process for this semaphore. The effect of subsequent use of the semaphore indicated by sem by this process is undefined. If the semaphore has not been removed with a successful call to sem_unlink(3RT), then sem_close() has no effect on the state of the semaphore. If the sem_unlink(3RT) function has been successfully invoked for name after the most recent call to sem_open(3RT) with O_CREAT for this sema- phore, then when all processes that have opened the semaphore close it, the semaphore is no longer be accessible. RETURN VALUES
If successful, sem_close() returns 0, otherwise it returns -1 and sets errno to indicate the error. ERRORS
The sem_close() function will fail if: EINVAL The sem argument is not a valid semaphore descriptor. ENOSYS The sem_close() function is not supported by the system. USAGE
The sem_close() function should not be called for an unnamed semaphore initialized by sem_init(3RT). ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Standard | +-----------------------------+-----------------------------+ |MT-Level |MT-Safe | +-----------------------------+-----------------------------+ SEE ALSO
sem_init(3RT), sem_open(3RT), sem_unlink(3RT), attributes(5), standards(5) NOTES
Solaris 2.6 was the first release to support the Asynchronous Input and Output option. Prior to this release, this function always returned -1 and set errno to ENOSYS. SunOS 5.10 28 Jun 2002 sem_close(3RT)

Check Out this Related Man Page

sem_close(2)							System Calls Manual						      sem_close(2)

NAME
sem_close - close a named POSIX semaphore SYNOPSIS
DESCRIPTION
is used to close a named semaphore. A successful call to will do the following: Remove the process's descriptor for the semaphore refer- enced by the specified structure sem. Remove the semaphore referenced by the specified structure sem, if the semaphore is marked for removal by a call to and there are no other descriptors referencing this semaphore. When the process's descriptor for the semaphore referenced by sem is removed, subsequent use of this semaphore by this process will fail. Descriptors for named semaphores are also removed by processes on exit. Calling does not affect other processes referencing the same sema- phore. To use this function, link in the realtime library by specifying on the compiler or linker command line. EXAMPLES
The following call to will close a named semaphore referred to by sem by removing the process's descriptor to the semaphore and removing the semaphore if it is marked for removal by a previous and there are no descriptors referencing it. RETURN VALUE
If the semaphore was closed and the descriptors referencing it were removed, returns 0 to the caller. If the semaphore could not be closed, the call returns -1 and sets to indicate the error. ERRORS
fails and does not perform the requested operation if the following condition is encountered: [EINVAL] The argument sem is not a valid named semaphore. WARNINGS
A single call will make the semaphore unusable by the process no matter how many times that process had called for the same semaphore. Subsequent calls to by the same process for the same semaphore will result in an undefined behavior. SEE ALSO
sem_init(2), sem_open(2), sem_unlink(2), <semaphore.h>. STANDARDS CONFORMANCE
sem_close(2)
Man Page