semget(2) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

semget(2)

semget(2)                        System Calls                        semget(2)



NAME
       semget - get set of semaphores

SYNOPSIS
       #include <sys/types.h>
       #include <sys/ipc.h>
       #include <sys/sem.h>

       int semget(key_t key, int nsems, int semflg);

DESCRIPTION
       The  semget() function 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 fol‐
       lowing is true:

           o      key is equal to IPC_PRIVATE.


           o      key does not already have a semaphore identifier  associated
                  with it, and (semflg & IPC_CREAT) is true.



       On creation, the data structure associated with the new semaphore iden‐
       tifier is initialized as follows:

           o      sem_perm.cuid, sem_perm.uid, sem_perm.cgid, and sem_perm.gid
                  are  set  equal to the effective user ID and effective group
                  ID, respectively, of the calling process.


           o      The access permission bits of sem_perm.mode are set equal to
                  the access permission bits of semflg.


           o      sem_nsems is set equal to the value of nsems.


           o      sem_otime  is  set  equal to 0 and sem_ctime is set equal to
                  the current time.


RETURN VALUES
       Upon successful completion, a non-negative integer representing a sema‐
       phore  identifier  is  returned. Otherwise, −1 is returned and errno is
       set to indicate the error.

ERRORS
       The semget() function will fail if:

       EACCES    A semaphore identifier exists for key, but operation  permis‐
                 sion  (see  Intro(2)) as specified by the low-order 9 bits of
                 semflg would not be granted.


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


       EINVAL    The  nsems  argument  is  either  less  than or equal to 0 or
                 greater than the system-imposed limit. See NOTES.

                 A semaphore identifier exists for key, but the number of sem‐
                 aphores  in the set associated with it is less than nsems and
                 nsems is not equal to 0.


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


       ENOSPC    A  semaphore  identifier  is  to  be  created but the system-
                 imposed limit on the maximum number of allowed semaphores  or
                 semaphore  identifiers  system-wide  would  be  exceeded. See
                 NOTES.


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE  TYPEAT‐
       TRIBUTE  VALUE  _  Interface  StabilityCommitted  _  StandardSee  stan‐
       dards(7).


SEE ALSO
       ipcrm(1), ipcs(1), Intro(2), semctl(2), semop(2), setrctl(2), ftok(3C),
       attributes(7), standards(7), rctladm(8)

NOTES
       The  system-imposed  limit  on  the  value of the nsems argument is the
       maintained on  a  per-process  basis  using  the  process.max-sem-nsems
       resource control.


       The  system-imposed  limit  on  the  number of semaphore identifiers is
       maintained  on  a  per-project  basis  using  the   project.max-sem-ids
       resource  control.  The  zone.max-sem-ids  resource  control limits the
       total number of semaphore identifiers that can be allocated by a zone.


       See rctladm(8) and setrctl(2) for information about using resource con‐
       trols.



Oracle Solaris 11.4               17 Aug 2018                        semget(2)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3