pthread_mutex_unlock() は、mp が指す mutex のロックを解除します。
プロトタイプ: int pthread_mutex_unlock(pthread_mutex_t *mp);
#include <pthread.h> pthread_mutex_t mp; int ret; ret = pthread_ mutex_unlock(&mp); /* mutex を解除する */
mutex はロックされていて、呼び出しスレッドがその mutex を最後にロックしたスレッド (つまり、呼び出しスレッドがその mutex を保持している) でなければなりません。その mutex が使用可能になるのを待っているスレッドが他にある場合は、その mutex ロックに対する待ち行列内の先頭のスレッドのブロックが解除されます。
正常終了時は 0 です。それ以外の戻り値は、エラーが発生したことを示します。以下の条件が検出されると、この関数は失敗し、次の値を戻します。