Initialize mutex
#include <pthread.h> pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; int pthread_mutex_init( pthread_mutex_t* mutex, const pthread_mutexattr_t* attr );
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The pthread_mutex_init() function initializes the given mutex object, using the attributes specified by the mutex attributes object attr. If attr is NULL, then the mutex is initialized with the default attributes (see pthread_mutexattr_init()). After initialization, the mutex is in an unlocked state.
You should allocate synchronization objects only in normal memory mappings. On certain processors (e.g. some PPC ones), atomic operations such as calls to pthread_mutex_lock() will cause a fault if the control structure is allocated in uncached memory. |
You can initialize a statically allocated mutex with the default attributes by assigning to it the macro PTHREAD_MUTEX_INITIALIZER or PTHREAD_RMUTEX_INITIALIZER (for recursive mutexes).
To destroy a mutex, call pthread_mutex_destroy(). Once you've destroyed a mutex, don't reuse it without reinitializing it by calling pthread_mutex_init(). |
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |
pthread_mutexattr_init(), pthread_mutex_destroy(), SyncTypeCreate()