sem_init man page on DigitalUNIX

Man page or keyword search:  
man Server   12896 pages
apropos Keyword Search (all sections)
Output format
DigitalUNIX logo
[printable version]

sem_init(3)							   sem_init(3)

       sem_init - Initializes an unnamed semaphore (P1003.1b)

       #include <semaphore.h>

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

       Realtime Library (librt)

       Specifies a location to receive the descriptor of the initialized sema‐
       phore.  Specifies a value indicating whether the	 semaphore  should  be
       sharable	 between  the  creating	 process and its descendants (non-zero
       value) or not (zero).  Specifies the initial value to be given  to  the

       The  sem_init()	function  creates a new counting semaphore with a spe‐
       cific value. A  semaphore  is  used  to	limit  access  to  a  critical
       resource.   When	 a  process  requires  access  to the resource without
       interference from other processes, it attempts to establish  a  connec‐
       tion  with the associated semaphore.  If the semaphore value is greater
       than zero, the connection is established and  the  semaphore  value  is
       decremented  by	one.  If  the semaphore value is less than or equal to
       zero, the process attempting to access the resource is blocked and must
       wait  for  another  process  to release the semaphore and increment the
       semaphore value.

       The sem_init() function establishes a  connection  between  an  unnamed
       semaphore  and  a  process;  the sem_wait() and sem_trywait() functions
       lock the semaphore; and the sem_post() function unlocks the  semaphore.
       Use the sem_destroy() function to deallocate system resources allocated
       to the process for use with the semaphore. You  can  use	 the  sem_get‐
       value() function to obtain the value of a semaphore.

       A  semaphore created by a call to the sem_init() function remains valid
       until the semaphore is removed by a call to the sem_destroy() function.

       On successful completion, the function returns the value 0 (zero); oth‐
       erwise,	the  function  returns the value -1 and sets errno to indicate
       the error.

       The sem_init function fails under the following conditions:  The	 value
       argument	 exceeds  {SEM_VALUE_MAX}.   A resource required to initialize
       the  semaphore  has   been   exhausted.	 The   limit   on   semaphores
       ({SEM_NSEMS_MAX})  has been reached.  The process lacks the appropriate
       privilege to initialize the semaphore.

       Functions: sem_destroy(3), sem_post(3), sem_trywait(3), sem_wait(3)

       Guide to Realtime Programming


List of man pages available for DigitalUNIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net