Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ () — Motorola System V 88k Release 3.2 Version 1.2C

Media Vault

Software Library

Restoration Projects

Artifacts Sought



  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 and semcusec
            are set equal to the current time.


  Page 1                                                   May 1989


















  SEMGET(2)                                               SEMGET(2)



       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.

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



  Page 2                                                   May 1989
















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