semget(2) 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.
7/91 Page 1
semget(2) 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.
EEXIST A semaphore identifier exists for key but both
(semflg&IPCCREAT) and (semflg&IPCEXCL) are 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 7/91