Manual page for semget(2)
semget - get set of semaphores
SYNOPSIS
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
int semget(key_t 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
IPC_PRIVATE.
- key
does not already have a semaphore identifier associated with it, and
(semflg&IPC_CREAT)
is true.
On creation, the data structure associated with the new semaphore
identifier is initialized as follows:
-
- sem_perm.cuid, sem_perm.uid,
sem_perm.cgid, and sem_perm.gid
are set equal to the effective user
ID
and effective group
ID,
respectively, of the calling process.
- The access permission bits of
sem_perm.mode
are set equal to the access permission bits of
semflg.
- sem_nsems
is set equal to the value of
nsems.
- sem_otime
is set equal to 0 and
sem_ctime
is set equal to the current time.
RETURN VALUES
Upon successful completion,
a non-negative integer,
namely a semaphore identifier, is returned;
otherwise,
-1
is returned and
errno
is set to indicate the error.
ERRORS
semget()
fails if one or more of the following are true:
- 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.
- EEXIST
-
A semaphore identifier exists for
key
but both
(semflg&IPC_CREAT) and (semflg&IPC_EXCL)
are both 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.
SEE ALSO
ipcs.1
ipcrm.1
intro.2
semctl.2
semop.2
stdipc.3c
Created by unroff & hp-tools.
© by Hans-Peter Bischof. All Rights Reserved (1997).
Last modified 21/April/97