

#include <nitro/os.h>void OS_UnlockMutex( OSMutex* mutex );| mutex | OSMutex 構造体へのポインタ |
なし。
呼び出したスレッドはmutex を解放します。
呼び出したスレッドは、mutex の所有者でなければなりません。
ただし、呼び出したスレッドがこの mutex を n 回ロックしていた場合、n 番目の OS_UnlockMutex() でのみ実際にmutex を解放します。
(例)
OSMutex mutex;
OS_LockMutex( &mutex );
:
OS_LockMutex( &mutex );
:
:
:
OS_UnlockMutex( &mutex ); // まだ mutex は解放されない
:
OS_UnlockMutex( &mutex ); // ここで mutex は解放される。
mutex をロックしているスレッドが OS_ExitThread() によって終了したときは、そのmutex は自動的にアンロックされます。
OS_InitMutex, OS_LockMutex, OS_TryLockMutex, OS_ExitThread
2009/03/11 OS_UnlockMutex() とすべきなのに OS_LockMutex() と書いていた箇所を修正
2008/12/17 例を追加
2004/04/05 OS_ExitThread() によってmutexがアンロックされる記述を追加
2003/12/01 初版