Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP-UX Reference > P


Pthread Library
HP-UX 11i Version 3: February 2007

Technical documentation

» Feedback
Content starts here

 » Table of Contents

 » Index


pthread_mutex_unlock() — unlock a mutex.


#include <pthread.h>

int pthread_mutex_unlock( pthread_mutex_t *mutex );



Pointer to the mutex to be unlocked.


The function pthread_mutex_unlock() is called by the owner of the mutex referenced by mutex to unlock the mutex. The manner in that the mutex is released is dependent upon the mutex's type attribute. For normal and default mutexes, undefined behavior will result if pthread_mutex_unlock() is called on an unlocked mutex or by a thread that is not the current owner. For recursive and error-checking mutexes, an error is returned if pthread_mutex_unlock() is called on an unlocked mutex or by a thread which is not the current owner.

For recursive mutexes, the owner must call pthread_mutex_unlock() as many times as the mutex was locked before another thread can lock the mutex.

If there are threads blocked on the mutex referenced by mutex when pthread_mutex_unlock() releases the mutex, the scheduling policy is used to determine which thread will acquire the mutex next.


Upon successful completion, pthread_mutex_unlock() returns zero. Otherwise, an error number is returned to indicate the error (the errno variable is not set).


For each of the following conditions, if the condition is detected, the pthread_mutex_unlock() function returns the corresponding error number:


mutex is not an initialized mutex.


The calling thread does not own mutex. On HP-UX, this error is not detected for PTHREAD_MUTEX_FAST or PTHREAD_MUTEX_DEFAULT mutexes.


mutex parameter points to an illegal address.


pthread_mutex_unlock() was derived from the IEEE POSIX P1003.1c standard and HP extensions.


pthread_mutex_init(3T), pthread_mutex_destroy(3T), pthread_mutex_lock(3T), pthread_mutex_trylock(3T).


pthread_mutex_unlock(): POSIX 1003.1c.

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 1983-2007 Hewlett-Packard Development Company, L.P.