home   contributing   bugs   download   online pages  

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | CONFORMING TO | NOTES | SEE ALSO | COLOPHON


SEM_DESTROY(3)                Linux Programmer's Manual                SEM_DESTROY(3)

NAME         top

       sem_destroy - destroy an unnamed semaphore

SYNOPSIS         top

       #include <semaphore.h>

       int sem_destroy(sem_t *sem);

       Link with -lrt or -pthread.

DESCRIPTION         top

       sem_destroy() destroys the unnamed semaphore at the address pointed to by sem.

       Only a semaphore that has been initialized by sem_init(3) should be destroyed
       using sem_destroy().

       Destroying a semaphore that other processes or threads are currently blocked
       on (in sem_wait(3)) produces undefined behavior.

       Using a semaphore that has been destroyed produces undefined results, until
       the semaphore has been reinitialized using sem_init(3).

RETURN VALUE         top

       sem_destroy() returns 0 on success; on error, -1 is returned, and errno is set
       to indicate the error.

ERRORS         top

       EINVAL sem is not a valid semaphore.

CONFORMING TO         top

       POSIX.1-2001.

NOTES         top

       An unnamed semaphore should be destroyed with sem_destroy() before the memory
       in which it is located is deallocated.  Failure to do this can result in
       resource leaks on some implementations.

SEE ALSO         top

       sem_init(3), sem_post(3), sem_wait(3), sem_overview(7)

COLOPHON         top

       This page is part of release 3.23 of the Linux man-pages project.  A
       description of the project, and information about reporting bugs, can be found
       at http://www.kernel.org/doc/man-pages/.

Linux                                 2006-03-25                       SEM_DESTROY(3)