Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ semget(2) — 4D1 2.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

intro(2)

semctl(2)

semop(2)



     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 (key, nsems, semflg)
          keyt key;
          int nsems, 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''.

          Upon 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 low-order 9 bits of semperm.mode are set equal to
               the low-order 9 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



     Page 1                                        (last mod. 8/20/87)





     SEMGET(2)                                               SEMGET(2)



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

          [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
                         ((semflg & IPCCREAT) and (semflg &
                         IPCEXCL)) is ``true''.

     SEE ALSO
          intro(2), semctl(2), semop(2).

     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.

     ORIGIN
          AT&T V.3
























     Page 2                                        (last mod. 8/20/87)



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