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

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

msem_unlock(3)

Contents


NAME    [Toc]    [Back]

       msem_unlock - Unlock a semaphore

SYNOPSIS    [Toc]    [Back]

       #include <sys/mman.h>

       int msem_unlock(
               msemaphore *sem,
               int condition );

LIBRARY    [Toc]    [Back]

       Standard C Library (libc)

PARAMETERS    [Toc]    [Back]

       Points  to  an  msemaphore  structure  which specifies the
       semaphore  to  be  unlocked.    Determines   whether   the
       msem_unlock()  function  unlocks the semaphore if no other
       processes are waiting to lock it.

DESCRIPTION    [Toc]    [Back]

       The msem_unlock() function unlocks a binary semaphore.

       If the condition parameter is 0 (zero), the  semaphore  is
       unlocked, whether or not any other processes are currently
       attempting to lock  it.  If  the  condition  parameter  is
       MSEM_IF_WAITERS,  and  another  process is waiting to lock
       the semaphore or it cannot be reliably determined  whether
       some  process  is  waiting  to  lock  the  semaphore,  the
       semaphore is unlocked by the calling process. If the  condition
  parameter  is  MSEM_IF_WAITERS,  and no process is
       waiting to lock the semaphore, the semaphore will  not  be
       unlocked and an error will be returned.

       All  calls  to the msem_lock() and msem_unlock() functions
       by multiple processes sharing a common  msemaphore  structure
 behave as if the calls were serialized.

       If the msemaphore structure contains any value not resulting
 from a call to the msem_init() function followed by  a
       (possibly  empty) sequence of calls to the msem_lock() and
       msem_unlock() functions, the results are  undefined.   The
       address of an msemaphore structure may be significant.  If
       the msemaphore structure contains any value copied from an
       msemaphore structure at a different address, the result is
       undefined.

NOTES    [Toc]    [Back]

       Trial use

RETURN VALUES    [Toc]    [Back]

       On  successful  completion,  the  msem_unlock()   function
       returns  0  (zero).  On  error, the msem_unlock() function
       returns -1 and sets errno to indicate the error.

ERRORS    [Toc]    [Back]

       If the msem_unlock() function fails, errno may be  set  to
       one of the following values: MSEM_IF_WAITERS was specified
       and there were no waiters.  The sem parameter points to an
       msemaphore structure which specifies a semaphore which has
       been removed, or the condition parameter is invalid.


SEE ALSO    [Toc]    [Back]

      
      
       Functions: msem_init(3), msem_lock(3), msem_remove(3)



                                                   msem_unlock(3)
[ Back ]
 Similar pages
Name OS Title
sem_post FreeBSD increment (unlock) a semaphore
sem_post OpenBSD increment (unlock) a semaphore
sem_post HP-UX unlock a POSIX semaphore
pthread_mutex_unlock FreeBSD unlock a mutex
pthread_mutex_unlock OpenBSD unlock a mutex
pthread_rwlock_unlock Tru64 Unlock a read-write lock
mlock IRIX lock or unlock pages in memory
mlockall IRIX lock or unlock address space
vput FreeBSD decrement the use count for a vnode and unlock it
CDallowremoval IRIX unlock the CD-ROM drive eject button
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service