The Single UNIX ® Specification, Version 2
Copyright © 1997 The Open Group

 NAME

sem_destroy - destroy an unnamed semaphore (REALTIME)

 SYNOPSIS



#include <semaphore.h>

int sem_destroy(sem_t *sem);

 DESCRIPTION

The sem_destroy() function is used to destroy the unnamed semaphore indicated by sem. Only a semaphore that was created using sem_init() may be destroyed using sem_destroy(); the effect of calling sem_destroy() with a named semaphore is undefined. The effect of subsequent use of the semaphore sem is undefined until sem is re-initialised by another call to sem_init().

It is safe to destroy an initialised semaphore upon which no threads are currently blocked. The effect of destroying a semaphore upon which other threads are currently blocked is undefined.

 RETURN VALUE

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

 ERRORS

The sem_destroy() function will fail if:
[EINVAL]
The sem argument is not a valid semaphore.
[ENOSYS]
The function sem_destroy() is not supported by this implementation.

The sem_destroy() function may fail if:

[EBUSY]
There are currently processes blocked on the semaphore.

 EXAMPLES

None.

 APPLICATION USAGE

None.

 FUTURE DIRECTIONS

None.

 SEE ALSO

semctl(), semget(), semop(), sem_init(), sem_open(), <semaphore.h>.

DERIVATION

Derived from the POSIX Realtime Extension (1003.1b-1993/1003.1i-1995)

UNIX ® is a registered Trademark of The Open Group.
Copyright © 1997 The Open Group
[ Main Index | XSH | XCU | XBD | XCURSES | XNS ]