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

  man pages->FreeBSD man pages -> semget (2)              
Title
Content
Arch
Section
 

SEMGET(2)

Contents


NAME    [Toc]    [Back]

     semget -- obtain a semaphore id

LIBRARY    [Toc]    [Back]

     Standard C Library (libc, -lc)

SYNOPSIS    [Toc]    [Back]

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

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

DESCRIPTION    [Toc]    [Back]

     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 specified 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 semaphores the set should contain.  Otherwise, nsems may be
     specified as 0.

RETURN VALUES    [Toc]    [Back]

     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    [Toc]    [Back]

     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    [Toc]    [Back]

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


FreeBSD 5.2.1		      September 12, 1995		 FreeBSD 5.2.1
[ Back ]
 Similar pages
Name OS Title
sem_getvalue OpenBSD get the value of a semaphore
semget OpenBSD get semaphore set
sem_getvalue FreeBSD get the value of a semaphore
msem_remove Tru64 Remove a semaphore
msem_lock Tru64 Lock a semaphore
semtimedop HP-UX semaphore operations
sem_getvalue Tru64 Gets the value of a specified semaphore (P1003.1b)
semop NetBSD semaphore operations
semop IRIX semaphore operations
semid_ds Tru64 Defines a semaphore set
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service