Annotation of coherent/a/usr/man/COHERENT/semget, revision 1.1.1.1

1.1       root        1: 
                      2: 
                      3: semget()               COHERENT System Call              semget()
                      4: 
                      5: 
                      6: 
                      7: 
                      8: Get a set of semaphores
                      9: 
                     10: #include <sys/sem.h>
                     11: sseemmggeett(_k_e_y, _n_s_e_m_s, _s_e_m_f_l_g)
                     12: kkeeyy_tt _k_e_y; iinntt _n_s_e_m_s, _s_e_m_f_l_g;
                     13: 
                     14: semget returns the  semaphore identifier associated with key.  It
                     15: creates a semaphore  identifier and associated data structure and
                     16: set  that contains  nsems semaphores  for key  should one  of the
                     17: following be true:
                     18: 
                     19: *  key equals IPC_PRIVATE.
                     20: 
                     21: *  key  does not have a semaphore  identifier associated with it,
                     22:    and (_s_e_m_f_l_g & IIPPCC_CCRREEAATT) is true.
                     23: 
                     24: When semget  creates a data  structure for a  new semaphore iden-
                     25: tifier, it initializes the structure as follows:
                     26: 
                     27: *  It sets the fields sem_perm.cuid, sem_perm.uid, sem_perm.cgid,
                     28:    and sem_perm.gid  equal to the effective  user identifier, the
                     29:    calling  process's identifier, and  the effective  group iden-
                     30:    tifier, respectively.
                     31: 
                     32: *  It sets the low-order  nine bits of sem_perm.mode equal to the
                     33:    low-order nine bits  of semflg.  These nine bits define access
                     34:    permissions:  the top  three bits  specify the  owner's access
                     35:    permissions (read, write,  execute), the middle three bits the
                     36:    owning group's access  permissions, and the low three bits ac-
                     37:    cess permissions for others.
                     38: 
                     39: *  sem_nsems is set equal to the value of nsems.
                     40: 
                     41: *  sem_otime is set to zero and sem_ctime to the current time.
                     42: 
                     43: semget fails if any of the following are true:
                     44: 
                     45: *  nsems  is either less than  or equal to zero,  or greater than
                     46:    the system imposed limit.  It sets errno to EINVAL.
                     47: 
                     48: *  A semaphore identifier exists for key but operation permission
                     49:    as specified by the low-order nine bits of semflg would not be
                     50:    granted (EEAACCCCEESS).
                     51: 
                     52: *   A  semaphore identifier  exists  for key  but  the number  of
                     53:    semaphores in  the set associated  with it is  less than nsems
                     54:    and nsems is not equal to zero (EEIINNVVAALL).
                     55: 
                     56: *  A  semaphore identifier does  not exist for key  and (_s_e_m_f_l_g &
                     57:    IIPPCC_CCRREEAATT) is false (EENNOOEENNTT).
                     58: 
                     59: *  The number  of semaphore identifiers allowed system-wide would
                     60:    be exceeded (EENNOOSSPPCC).
                     61: 
                     62: 
                     63: 
                     64: COHERENT Lexicon                                           Page 1
                     65: 
                     66: 
                     67: 
                     68: 
                     69: semget()               COHERENT System Call              semget()
                     70: 
                     71: 
                     72: 
                     73: *  The number of semaphores allowed system-wide would be exceeded
                     74:    (EENNOOSSPPCC).
                     75: 
                     76: *   A  semaphore  identifier  exists  for  key but  (  (_s_e_m_f_l_g  &
                     77:    IIPPCC_CCRREEAATT) && (_s_e_m_f_l_g & IIPPCC_EEXXCCLL) ) is true (EEEEXXIISSTT).
                     78: 
                     79: ***** Return Value *****
                     80: 
                     81: Upon  successful completion,  semget returns  a  non-negative in-
                     82: teger, namely  a semaphore identifier.  Otherwise,  it returns -1
                     83: and sets eerrrrnnoo to an appropriate value.
                     84: 
                     85: ***** Files *****
                     86: 
                     87: /usr/include/sys/ipc.h
                     88: /usr/include/sys/sem.h
                     89: /dev/sem
                     90: /drv/sem
                     91: 
                     92: ***** See Also *****
                     93: 
                     94: COHERENT system calls, sem, semctl(), semop()
                     95: 
                     96: ***** Notes *****
                     97: 
                     98: To  improve  portability,  the  COHERENT  system  implements  the
                     99: semaphore functions  as a device driver rather  than as an actual
                    100: system call.
                    101: 
                    102: 
                    103: 
                    104: 
                    105: 
                    106: 
                    107: 
                    108: 
                    109: 
                    110: 
                    111: 
                    112: 
                    113: 
                    114: 
                    115: 
                    116: 
                    117: 
                    118: 
                    119: 
                    120: 
                    121: 
                    122: 
                    123: 
                    124: 
                    125: 
                    126: 
                    127: 
                    128: 
                    129: 
                    130: COHERENT Lexicon                                           Page 2
                    131: 
                    132: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.