mp が指す mutex をロックするには、mutex_lock(3C) を使用します。mutex がすでにロックされている場合、呼び出しスレッドは mutex が使用可能になるまでブロックされます。ブロックされたスレッドは、優先順位の高いキューで待機します。POSIX スレッドの場合については、「pthread_mutex_lock の構文」を参照してください。
#include <thread.h> int mutex_lock(mutex_t *mp);
mutex_lock() は、正常終了時に 0 を返します。次のいずれかの条件が検出された場合、mutex_lock() は失敗し、対応する値を返します。
EFAULT
説明:mp が指すアドレスが正しくありません。
EDEADLK
説明:mutex はすでにロックされていて、呼び出しスレッドに保持されています。