Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ semget(2) — A/UX 0.7

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 are 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 will fail 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. 1/14/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 and IPCCREAT) and ( semflgand
                         IPCEXCL)) is ``true''.

     RETURN VALUE
          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.

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



























     Page 2                                        (last mod. 1/14/87)



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