[Go to CFHT Home Page] Man Pages
Back to Software Index  BORDER=0Manpage Top Level
    semget(2) manual page Table of Contents

Name

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:

On creation, the data structure associated with the new semaphore identifier is initialized as follows:

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)


Table of Contents