Unix/Linux Go Back    


OpenDarwin 7.2.1 - man page for semget (opendarwin section 2)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


SEMGET(2)			     BSD System Calls Manual				SEMGET(2)

NAME
     semget -- obtain a semaphore id

LIBRARY
     Standard C Library (libc, -lc)

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

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

DESCRIPTION
     Based on the values of key and flag, semget() returns the identifier of a newly created or
     previously existing set of semaphores.  The key is analogous to a filename: it provides a
     handle that names an IPC object.  There are three ways to specify a key:

     o	 IPC_PRIVATE may be specified, in which case a new IPC object will be created.

     o	 An integer constant may be specified.	If no IPC object corresponding to key is speci-
	 fied and the IPC_CREAT bit is set in flag, a new one will be created.

     o	 The ftok(3) function may be used to generate a key from a pathname.

     The mode of a newly created IPC object is determined by OR'ing the following constants into
     the flag argument:

     SEM_R	   Read access for user.

     SEM_A	   Alter access for user.

     (SEM_R>>3)    Read access for group.

     (SEM_A>>3)    Alter access for group.

     (SEM_R>>6)    Read access for other.

     (SEM_A>>6)    Alter access for other.

     If a new set of semaphores is being created, nsems is used to indicate the number of sema-
     phores the set should contain.  Otherwise, nsems may be specified as 0.

RETURN VALUES
     The semget() system call returns the id of a semaphore set if successful; otherwise, -1 is
     returned and errno is set to indicate the error.

ERRORS
     The semget() system call will fail if:

     [EACCES]		Access permission failure.

     [EEXIST]		IPC_CREAT and IPC_EXCL were specified, and a semaphore set corresponding
			to key already exists.

     [EINVAL]		The number of semaphores requested exceeds the system imposed maximum per
			set.

     [ENOSPC]		Insufficiently many semaphores are available.

     [ENOSPC]		The kernel could not allocate a struct semid_ds.

     [ENOENT]		No semaphore set was found corresponding to key, and IPC_CREAT was not
			specified.

SEE ALSO
     semctl(2), semop(2), ftok(3)

BSD					September 12, 1995				      BSD
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 03:48 PM.