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

  man pages->Tru64 Unix man pages -> sem_open (3)              
Title
Content
Arch
Section
 

sem_open(3)

Contents


NAME    [Toc]    [Back]

       sem_open  -  Opens/creates  a named semaphore for use by a
       process (P1003.1b)

SYNOPSIS    [Toc]    [Back]

       #include <semaphore.h>

       sem_t *sem_open ( const char *name,  int  ooption,  mode_t
       mode, unsigned int value);


LIBRARY    [Toc]    [Back]

       Realtime Library (librt.so, librt.a)

PARAMETERS    [Toc]    [Back]

       Points to a string naming the semaphore object.  Specifies
       whether the semaphore is to be created (O_CREAT option bit
       set)  or  only  opened  (O_CREAT  option  bit  clear).  If
       O_CREAT is set, the O_EXCL option bit may additionally  be
       set to specify that the call should fail if a semaphore of
       the same name already  exists.   The  O_CREAT  and  O_EXCL
       options  are defined in the <fcntl.h> header file.  Specifies
 the semaphore's permission  bits.  This  argument  is
       used  only when the semaphore is being created.  Specifies
       the initial value to be given to the semaphore. This argument
 is used only when the semaphore is being created.

DESCRIPTION    [Toc]    [Back]

       Use  the  sem_open  function  to  establish the connection
       between a named semaphore and  a  process.   Subsequently,
       the  calling  process can reference the semaphore by using
       the address returned  from  the  call.  The  semaphore  is
       available  in  subsequent  calls to sem_wait, sem_trywait,
       sem_post,  and  sem_getvalue  functions.   The   semaphore
       remains  usable  by  the  process  until  the semaphore is
       closed by a successful call to the sem_close function.

       The O_CREAT option bit in the ooption  parameter  controls
       whether  the  semaphore  is  created or only opened by the
       call to sem_open.

       A created semaphore's user ID is set to the user ID of the
       calling  process  and  its  group  ID  is  set to a system
       default group or to the group  ID  of  the  process.   The
       semaphore's  permission  bits  are set to the value of the
       mode argument, except for those set in the file mode  creation
 mask of the process.

       After a semaphore is created, other processes can open the
       semaphore by calling sem_open with the same value for  the
       name argument.

RETURN VALUES    [Toc]    [Back]

       On   successful   completion,   this  function  opens  the
       semaphore and returns the semaphore's  descriptor.  Otherwise,
  the  function returns -1 and sets errno to indicate
       the error.




ERRORS    [Toc]    [Back]

       The sem_open function fails  under  the  following  conditions:
  The  named  semaphore  exists  and the permissions
       specified by ooption are denied, or  the  named  semaphore
       does  not  exist  and the permissions specified by ooption
       are denied.  O_CREAT and O_EXCL  are  set  and  the  named
       semaphore  already  exists.   The  sem_open  operation was
       interrupted by a signal.  The sem_open  operation  is  not
       supported for the given name. Or, O_CREAT was specified in
       ooption and value was greater than  {SEM_VALUE_MAX}.   Too
       many  semaphore  descriptors  or file descriptors are currently
 in use by this process.  The  length  of  the  name
       string  exceeds  {PATH_MAX},  or  a  pathname component is
       longer  than  {NAME_MAX}  while  {_POSIX_NO_TRUNC}  is  in
       effect.   Too  many  semaphores  are currently open in the
       system.  O_CREAT is not set and the named  semaphore  does
       not  exist.  Insufficient space exists for the creation of
       a new named semaphore.

SEE ALSO    [Toc]    [Back]

      
      
       Functions:  sem_close(3),   sem_post(3),   sem_trywait(3),
       sem_unlink(3), sem_wait(3), mkfifo(3)

       Guide to Realtime Programming



                                                      sem_open(3)
[ Back ]
 Similar pages
Name OS Title
sem_close Tru64 Deallocates the specified named semaphore (P1003.1b)
sem_unlink Tru64 Removes the specified named semaphore (P1003.1b)
sem_getvalue Tru64 Gets the value of a specified semaphore (P1003.1b)
sem_post Tru64 Unlocks a semaphore (P1003.1b)
shm_open Tru64 Opens a shared memory object, creating the object if necessary (P1003.1b)
sem_init Tru64 Initializes an unnamed semaphore (P1003.1b)
sem_destroy Tru64 Destroys an unnamed semaphore (P1003.1b)
sem_open OpenBSD named semaphore operations
sem_unlink OpenBSD named semaphore operations
sem_close OpenBSD named semaphore operations
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service