Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ semget(2) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

semctl(2)

semop(2)

stdipc(3C)

semget(2)                                                         semget(2)

NAME
     semget - get semaphore identifier

SYNOPSIS
     #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 contain-
     ing nsems semaphores 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, respec-
        tively, 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 apply:

     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 permis-
              sion 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.

     ENOENT   A semaphore identifier does not exist for key and
              (semflg&IPCCREAT) is false.





Page 1                       Reliant UNIX 5.44                Printed 11/98

semget(2)                                                         semget(2)

     ENOSPC   A semaphore identifier is to be created but the system-
              imposed limit on the maximum number of allowed semaphores
              systemwide would be exceeded.

     EEXIST   A semaphore identifier exists for key but both
              (semflg&IPCCREAT) and (semflg&IPCEXCL) are true.

RESULT
     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.

NOTES
     In the future there may be modifications to the interfaces for inter-
     process communication. You should design your applications so that in
     modules using semget() this function can easily be replaced by others.

SEE ALSO
     semctl(2), semop(2), stdipc(3C).



































Page 2                       Reliant UNIX 5.44                Printed 11/98

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