IPnom Home • Manuals • FreeBSD

 FreeBSD Man Pages

Man Sections:Commands (1)System Calls (2)Library Functions (3)Device Drivers (4)File Formats (5)Miscellaneous (7)System Utilities (8)
Keyword Live Search (10 results max):
 Type in part of a command in the search box.
 


sem_init(3)

NAME

     sem_init -- initialize an unnamed semaphore


LIBRARY

     Standard C Library (libc, -lc)


SYNOPSIS

     #include <semaphore.h>

     int
     sem_init(sem_t *sem, int pshared, unsigned int value);


DESCRIPTION

     The sem_init() function initializes the unnamed semaphore pointed to by
     sem to have the value value.  A non-zero value for pshared specifies a
     shared semaphore that can be used by multiple processes, which this
     implementation is not capable of.

     Following a successful call to sem_init(), sem can be used as an argument
     in subsequent calls to sem_wait(3), sem_trywait(3), sem_post(3), and
     sem_destroy(3).  The sem argument is no longer valid after a successful
     call to sem_destroy(3).


RETURN VALUES

     The sem_init() function returns the value 0 if successful; otherwise the
     value -1 is returned and the global variable errno is set to indicate the
     error.


ERRORS

     The sem_init() function will fail if:

     [EINVAL]		The value argument exceeds SEM_VALUE_MAX.

     [ENOSPC]		Memory allocation error.

     [EPERM]		Unable to initialize a shared semaphore.


SEE ALSO

     sem_destroy(3), sem_post(3), sem_trywait(3), sem_wait(3), sem(4)


STANDARDS

     The sem_init() function conforms to ISO/IEC 9945-1:1996 (``POSIX.1'').

     This implementation does not support shared semaphores, and reports this
     fact by setting errno to EPERM.  This is perhaps a stretch of the inten-
     tion of POSIX, but is compliant, with the caveat that sem_init() always
     reports a permissions error when an attempt to create a shared semaphore
     is made.

FreeBSD 5.4		       February 15, 2000		   FreeBSD 5.4

SPONSORED LINKS




Man(1) output converted with man2html , sed , awk