DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

semget(S)


semget -- get set of semaphores

Syntax

cc . . . -lc

#include  <sys/types.h>
#include  <sys/ipc.h>
#include  <sys/sem.h>

int semget(key, nsems, semflg) key_t key; int nsems, semflg;

Description

The semget system call returns the semaphore identifier associated with key.

A semaphore identifier and associated data structure and set containing nsems semaphores are created for key if one of the following is true:

Upon creation, the data structure associated with the new semaphore identifier is initialized as follows: The data structure associated with each semaphore in the set is not initialized. The function semctl with the command setval or setall can be used to initialize each semaphore.

The semget system call fails if one or more of the following is true:


[EACCES]
A semaphore identifier exists for key, but operation permission as specified by the low-order 9 bits of semflg would not be granted.

[EEXIST]
A semaphore identifier exists for key, but (semflg & IPC_CREAT) and (semflg & IPC_EXCL) are ``true''.

[EINVAL]
nsems is either less than or equal to zero or greater than the system-imposed limit.

[EINVAL]
A semaphore identifier exists for key, but the number of semaphores in the set associated with it is less than nsems, and nsems is not equal to zero.

[ENOENT]
A semaphore identifier does not exist for key, and (semflg & IPC_CREAT) is ``false''.

[ENOSPC]
A semaphore identifier is to be created, but the system-imposed limit on the maximum number of allowed semaphore identifiers system wide would be exceeded.

[ENOSPC]
A semaphore identifier is to be created, but the system-imposed limit on the maximum number of allowed semaphores system wide would be exceeded.

Diagnostics

Upon successful completion, a non-negative integer, namely a semaphore identifier, is returned. Otherwise, a value of -1 is returned, and errno is set to indicate the error.

See also

semctl(S), semop(S)

Standards conformance

semget is conformant with:

X/Open Portability Guide, Issue 3, 1989 .


© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003