semget(2) UNIX System V semget(2)
NAME
semget - get set of semaphores
SYNOPSIS
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
int semget(keyt key, int nsems, int semflg);
DESCRIPTION
semget returns the semaphore identifier associated with key.
A semaphore identifier and associated data structure and set containing
nsems semaphores [see intro(2)] are created for key if one of the
following is true:
key is equal to IPCPRIVATE.
key does not already have a semaphore identifier associated with
it, and (semflg&IPCCREAT) is true.
On creation, the data structure associated with the new semaphore
identifier is initialized as follows:
semperm.cuid, semperm.uid, semperm.cgid, and semperm.gid are
set equal to the effective user ID and effective group ID,
respectively, of the calling process.
The access permission bits of semperm.mode are set equal to the
access permission bits of semflg.
semnsems is set equal to the value of nsems.
semotime is set equal to 0 and semctime is set equal to the
current time.
semget fails if one or more of the following are true:
EINVAL nsems is either less than or equal to zero or greater than
the system-imposed limit.
EACCES A semaphore identifier exists for key, but operation
permission [see intro(2)] as specified by the low-order 9
bits of semflg would not be granted.
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.
10/89 Page 1
semget(2) UNIX System V semget(2)
ENOENT A semaphore identifier does not exist for key and
(semflg&IPCCREAT) 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.
EEXIST A semaphore identifier exists for key but both
(semflg&IPCCREAT) and (semflg&IPCEXCL) are both true.
SEE ALSO
intro(2), semctl(2), semop(2), stdipc(3C).
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.
Page 2 10/89