Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ semget(2) — IRIX 6.5.3f

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

intro(2)

semctl(2)

semop(2)

stdipc(3C)



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.




                                                                        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.

     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



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026