sem_init man page on SmartOS

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

SEM_INIT(3C)							  SEM_INIT(3C)

NAME
       sem_init - initialize an unnamed semaphore

SYNOPSIS
       #include <semaphore.h>

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

DESCRIPTION
       The  sem_init()	function  is  used to initialize the unnamed semaphore
       referred to by sem. The value of the initialized	 semaphore  is	value.
       Following a successful call to sem_init(), the semaphore may be used in
       subsequent calls to sem_wait(3C),  sem_trywait(3C),  sem_post(3C),  and
       sem_destroy(3C).	 This  semaphore remains usable until the semaphore is
       destroyed.

       If the pshared argument has a non-zero value,  then  the	 semaphore  is
       shared between processes; in this case, any process that can access the
       semaphore sem can use sem for performing sem_wait(3C), sem_trywait(3C),
       sem_post(3C), and sem_destroy(3C) operations.

       Only  sem itself may be used for performing synchronization. The result
       of referring to copies  of  sem	in  calls  to  sem_wait(3C),  sem_try‐
       wait(3C), sem_post(3C), and sem_destroy(3C), is undefined.

       If  the	pshared argument is zero, then the semaphore is shared between
       threads of the process; any thread in this process can use sem for per‐
       forming	   sem_wait(3C),     sem_trywait(3C),	  sem_post(3C),	   and
       sem_destroy(3C) operations. The use of the semaphore by	threads	 other
       than those created in the same process is undefined.

       Attempting  to  initialize  an already initialized semaphore results in
       undefined behavior.

       The sem_open(3C) function is used with named semaphores.

RETURN VALUES
       Upon successful completion, the function initializes the	 semaphore  in
       sem. Otherwise, it returns −1 and sets errno to indicate the error.

ERRORS
       The sem_init() function will fail if:

       EINVAL
		  The value argument exceeds  SEM_VALUE_MAX.

       ENOSPC
		  A  resource  required	 to  initialize the semaphore has been
		  exhausted, or the resources have reached the limit on	 sema‐
		  phores (SEM_NSEMS_MAX).

       ENOSYS
		  The sem_init() function is not supported by the system.

       EPERM
		  The  process	lacks the appropriate privileges to initialize
		  the semaphore.

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌────────────────────┬───────────────────┐
       │  ATTRIBUTE TYPE    │  ATTRIBUTE VALUE	│
       ├────────────────────┼───────────────────┤
       │Interface Stability │ Committed		│
       ├────────────────────┼───────────────────┤
       │MT-Level	    │ MT-Safe		│
       ├────────────────────┼───────────────────┤
       │Standard	    │ See standards(5). │
       └────────────────────┴───────────────────┘

SEE ALSO
       sem_destroy(3C),	    sem_open(3C),     sem_post(3C),	 sem_wait(3C),
       attributes(5), standards(5)

				  Jul 9, 2009			  SEM_INIT(3C)
[top]

List of man pages available for SmartOS

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]
Tweet
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