table of contents
|SEMGET(2)||System Calls Manual||SEMGET(2)|
obtain a semaphore id
LIBRARY¶Standard C Library (libc, -lc)
semget(key_t key, int nsems, int flag);
DESCRIPTION¶Based on the values of key and flag,
semget() returns the identifier of a newly created or previously existing set of semaphores. The key is analogous to a filename: it provides a handle that names an IPC object. There are three ways to specify a key:
- IPC_PRIVATE may be specified, in which case a new IPC object will be created.
- An integer constant may be specified. If no IPC object corresponding to key is specified and the IPC_CREAT bit is set in flag, a new one will be created.
- The ftok(3) function may be used to generate a key from a pathname.
- Read access for user.
- Alter access for user.
- Read access for group.
- Alter access for group.
- Read access for other.
- Alter access for other.
semget() system call returns the id of a semaphore set if successful; otherwise, -1 is returned and errno is set to indicate the error.
semget() system call will fail if:
- Access permission failure.
- IPC_CREAT and IPC_EXCL were specified, and a semaphore set corresponding to key already exists.
- The number of semaphores requested exceeds the system imposed maximum per set.
- Insufficiently many semaphores are available.
- The kernel could not allocate a struct semid_ds.
- No semaphore set was found corresponding to key, and IPC_CREAT was not specified.
SEE ALSO¶semctl(2), semop(2), ftok(3)
|September 12, 1995||Debian|