Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
semget(2)		      System Calls Manual		     semget(2)

NAME
       semget -	get set	of semaphores

SYNOPSIS
DESCRIPTION
       returns the semaphore identifier	associated with	key.

       A semaphore identifier and associated data structure and	set containing
       nsems semaphores	are created for	key if one of the following is true:

	      key is equal to This call	creates	a new identifier,  subject  to
	      available	 resources.   The  identifier is never returned	by an-
	      other call to until it has been released by a call to The	 iden-
	      tifier  should be	used among the calling process and its descen-
	      dents; however, it is not	a requirement.	The  resource  can  be
	      accessed by any process having the proper	permissions.

	      key does not already have	a semaphore identifier associated with
	      it, and (semflg &	is ``true''.

       Specific	behavior can be	requested by ORing the	following  masks  into
       semflg.

	      Create  a	semaphore identifier if	one does not already exist for
	      key.

	      If is specified and key already has a semaphore identifier asso-
	      ciated with it, return an	error.

       The  low-order 9	bits of	semflg are the semaphore operation permissions
       which are defined in glossary(9).

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

	      In  the operation-permission structure, and are set equal	to the
	      effective-user-ID	of the calling process,	while and are  set  to
	      the effective-group-ID of	the calling process.

	      The low-order 9 bits of are set equal to the low-order 9 bits of
	      semflg.

	      is set equal to the value	of nsems.

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

EXAMPLES
       The following call to returns a semid associated	with the key  returned
       by  ftok("myfile",  'A').   If a	semid associated with the key does not
       exist, a	new semid, set of 4 semaphores,	and associated data  structure
       will  be	 created.  If a	semid for the key already exists, the semid is
       simply returned.

RETURN VALUE
       Upon successful completion, a non-negative integer, namely a  semaphore
       identifier,  is	returned.  Otherwise, a	value of -1 is returned	and is
       set to indicate the error.

ERRORS
       fails if	one or more of the following is	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	opera-
			     tion permission 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 & is ``false''.

	      [ENOSPC]	     A	semaphore identifier is	to be created, but the
			     system-imposed limit on the maximum number	of al-
			     lowed  semaphore identifiers system wide would be
			     exceeded.

	      [EEXIST]	     A semaphore identifier  exists  for  key  but  is
			     ``true''.

SEE ALSO
       ipcrm(1), ipcs(1), semctl(2), semop(2), stdipc(3C).

STANDARDS CONFORMANCE
								     semget(2)

NAME | SYNOPSIS | DESCRIPTION | EXAMPLES | RETURN VALUE | ERRORS | SEE ALSO | STANDARDS CONFORMANCE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=semget&sektion=2&manpath=HP-UX+11.22>

home | help