*** UNIX MANUAL PAGE BROWSER ***

A Nergahak database for man pages research.

Navigation

Directory Browser

1Browse 4.4BSD4.4BSD
1Browse Digital UNIXDigital UNIX 4.0e
1Browse FreeBSDFreeBSD 14.3
1Browse MINIXMINIX 3.4.0rc6-d5e4fc0
1Browse NetBSDNetBSD 10.1
1Browse OpenBSDOpenBSD 7.7
1Browse UNIX v7Version 7 UNIX
1Browse UNIX v10Version 10 UNIX

Manual Page Search

Manual Page Result

0 Command: sem_init | Section: 3 | Source: Digital UNIX | File: sem_init.3.gz
sem_init(3) Library Functions Manual sem_init(3) NAME sem_init - Initialize an unnamed semaphore (P1003.1b) SYNOPSIS #include <semaphore.h> int sem_init ( sem_t *sem, int pshared, unsigned int value); PARAMETERS sem Indicates the specific semaphore to be initialized. pshared A non-zero value indicates that the semaphore can be shared be- tween processes. value The value of the initialized semaphore. DESCRIPTION The sem_init function creates a new counting semaphore with a specific 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 connection 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 sem- aphore 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_getvalue func- tion to get 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. RETURN VALUES On successful completion, the sem_init function creates the semaphore; otherwise, the function returns the value -1 and sets errno to indicate the error. ERRORS The sem_init function fails under the following conditions: [EINVAL] The value argument exceeds {SEM_VALUE_MAX}. [ENOSPC] A resource required to initialize the semaphore has been exhausted. The limit on semaphores ({SEM_NSEMS_MAX}) has been reached. [EPERM] The process lacks the appropriate privilege to ini- tialize the semaphore. RELATED INFORMATION Functions: sem_destroy(3), sem_post(3), sem_trywait(3),sem_wait(3) de- lim off sem_init(3)

Navigation Options