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

  man pages->Tru64 Unix man pages -> pthread_mutex_init (3)              



NAME    [Toc]    [Back]

       pthread_mutex_init - Initializes a mutex

SYNOPSIS    [Toc]    [Back]

       #include <pthread.h>

       int pthread_mutex_init(
               pthread_mutex_t *mutex,
               const pthread_mutexattr_t *attr );

LIBRARY    [Toc]    [Back]

       DECthreads POSIX 1003.1c Library (libpthread.so)

STANDARDS    [Toc]    [Back]

       Interfaces  documented  on  this reference page conform to
       industry standards as follows:

       IEEE Std 1003.1c-1995, POSIX  System  Application  Program

PARAMETERS    [Toc]    [Back]

       Mutex  to  be  initialized.   Mutex attributes object that
       defines the characteristics of the mutex  to  be  initialized.

DESCRIPTION    [Toc]    [Back]

       This routine initializes a mutex with the attributes specified
 by the mutex attributes object specified in the attr
       argument.  A mutex is a synchronization object that allows
       multiple threads to serialize their access to shared data.

       The mutex is initialized and set to the unlocked state. If
       attr is set to NULL,  the  default  mutex  attributes  are
       used. The pthread_mutexattr_settype(3) routine can be used
       to specify the type of  mutex  that  is  created  (normal,
       recursive, or errorcheck).

       Use the PTHREAD_MUTEX_INITIALIZER macro to statically initialize
 a mutex without calling this  routine.  Statically
       initialized   mutexes   need   not   be   destroyed  using
       pthread_mutex_destroy(3). Use this macro as follows:

       pthread_mutex_t mutex= PTHREAD_MUTEX_INITIALIZER

       Only normal mutexes can be statically initialized.

       A mutex is a resource of the process, not part of any particular
 thread.  A mutex is neither destroyed nor unlocked
       automatically when any thread exits.  If a mutex is  allocated
  on  a  stack, static initializers cannot be used on
       the mutex.

RETURN VALUES    [Toc]    [Back]

       If an error condition  occurs,  this  routine  returns  an
       integer  value  indicating the type of error, the mutex is
       not initialized, and the contents of mutex are  undefined.
       Possible  return values are as follows: Successful completion.
  The system lacks the necessary  resources  to  initialize
  the  mutex.   The  implementation has detected an
       attempt to reinitialize the mutex (a  previously  initialized,
  but  not yet destroyed mutex).  The value specified
       by mutex is not a valid mutex.  Insufficient memory exists
       to  initialize the mutex.  The caller does not have privileges
 to perform the operation.

ERRORS    [Toc]    [Back]


SEE ALSO    [Toc]    [Back]

       Functions:    pthread_mutexattr_init(3),    pthread_mutexattr_gettype(3),             pthread_mutexattr_settype(3),
       pthread_mutex_lock(3),           pthread_mutex_trylock(3),

       Manuals: Guide to DECthreads and Programmer's Guide

[ Back ]
 Similar pages
Name OS Title
tis_mutex_init Tru64 Initializes a mutex object
pthread_mutexattr_init Tru64 Initializes a mutex attributes object
pthread_mutexattr_gettype Tru64 Obtains the mutex type attribute in the specified mutex attributes object
pthread_mutexattr_settype Tru64 Specifies the mutex type attribute that is used when a mutex is created
reset Tru64 Initializes terminals
initnames IRIX initializes the name stack
tset Tru64 Initializes terminals
usinitlock IRIX initializes a lock
textinit IRIX initializes the textport
dmPMInitPlugin IRIX initializes and frees plugins
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service