*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> standard/semget (2)              
Title
Content
Arch
Section
 

Contents


semget(2)							     semget(2)


NAME    [Toc]    [Back]

     semget - get set of semaphores

SYNOPSIS    [Toc]    [Back]

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

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

DESCRIPTION    [Toc]    [Back]

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

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

     On	creation, the data structure associated	with the new semaphore
     identifier	is initialized as follows:

	  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.

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

	  sem_nsems is set equal to the	value of nsems.

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



     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.




									Page 1






semget(2)							     semget(2)



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

     ENOSPC	    A semaphore	identifier is to be created but	the systemimposed
 limit on the maximum number	of allowed semaphore
		    identifiers	system wide would be exceeded.

     ENOSPC	    A semaphore	identifier is to be created but	the systemimposed
 limit on the maximum number	of allowed semaphores
		    system wide	would be exceeded.

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

SEE ALSO    [Toc]    [Back]

      
      
     intro(2), semctl(2), semop(2), stdipc(3C).

DIAGNOSTICS    [Toc]    [Back]

     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.


									PPPPaaaaggggeeee 2222
[ Back ]
 Similar pages
Name OS Title
sem FreeBSD POSIX semaphores
semmsl HP-UX maximum number of System V IPC semaphores per identifier
lockf HP-UX provide semaphores and record locking on files
sema HP-UX enable or disable System V IPC semaphores at boot time
perlipc OpenBSD Perl interprocess communication (signals, fifos, pipes, safe subprocesses, sockets, and semaphores)
perlipc IRIX Perl interprocess communication (signals, fifos, pipes, safe subprocesses, sockets, and semaphores)
semmns HP-UX number of System V IPC system-wide semaphores
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service