Index Click this button to go to the index for this section.


tis_mutex_init(3)

NAME

tis_mutex_init - Initializes a mutex object.

LIBRARY

Standard C Library (libc.so, libc.a)

SYNOPSIS

#include <tis.h> int tis_mutex_init( pthread_mutex_t *mutex);

STANDARDS

None

PARAMETERS

mutex Pointer to a mutex object (passed by reference) to be initialized.

DESCRIPTION

This routine initializes a mutex object with the DECthreads 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. Mutexes can be allocated in heap or static memory, but not on a stack. Your program can use the PTHREAD_MUTEX_INITIALIZER macro to statically initialize a mutex object without calling this routine. Statically initialized mutexes need not be destroyed using tis_mutex_destroy(3). Use this macro as follows: pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER

RETURN VALUES

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: 0 Successful completion. [EAGAIN] The system lacks the necessary resources to initialize a mutex. [ENOMEM] Insufficient memory exists to initialize the 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 invalid. [EPERM] The caller does not have privileges to perform this operation.

ERRORS

None

RELATED INFORMATION

Functions: tis_mutex_destroy(3), tis_mutex_lock(3), tis_mutex_trylock(3), tis_mutex_unlock(3) Manuals: Guide to DECthreads and Programmer's Guide