VMS Help
POSIX Threads, TIS routines, tis_mutex_init
*Conan The Librarian (sorry for the slow response - running on an old VAX)
|
|
Initializes the specified mutex object.
#include <tis.h>
int
tis_mutex_init (
pthread_mutex_t *mutex );
mutex
Pointer to a mutex object (passed by reference) to be
initialized.
This routine initializes a mutex object with the Threads Library
default mutex attributes. A mutex is a synchronization object
that allows multiple threads to serialize their access to shared
data.
The mutex object is initialized and set to the unlocked state.
Your program can use the PTHREAD_MUTEX_INITIALIZER macro to
statically initialize a mutex object without calling this
routine. Static initialization can be used only for a condition
variable with storage class "extern" or "static" - "automatic"
(stack local) objects must be initialized by calling tis_mutex_
init(). Use this macro as follows:
pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
If an error condition occurs, this routine returns an integer
value indicating the type of error. Possible return values are as
follows:
Return Description
0 Successful completion.
[EAGAIN] The system lacks the necessary resources to
initialize a mutex.
[EBUSY] The implementation has detected an attempt to
reinitialize mutex (a previously initialized, but
not yet destroyed, mutex).
[EINVAL] The value specified by mutex is not a valid mutex.
[ENOMEM] Insufficient memory to initialize the mutex.
[EPERM] The caller does not have privileges to perform this
operation.
tis_mutex_destroy()
tis_mutex_lock()
tis_mutex_trylock()
tis_mutex_unlock()
[legal]
[privacy]
[GNU]
[policy]
[netiquette]
[sponsors]
[FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.