3.2.4 omp_unset_lock 関数と omp_unset_nest_lock 関数

これらの関数はロックの所有権の解放の方法を提供します。形式は次のとおりです。

#include <omp.h>
void omp_unset_lock(omp_lock_t *lock);
void omp_unset_nest_lock(omp_nest_lock_t *lock);

これらの各関数に対する引数は関数を実行するスレッドによって所有されるロック初期化変数を示す必要があります。動作はスレッドがそのロックを所有していない場合は未定義です。

単純ロックについてはomp_unset_lock の関数はロックの所有権の関数を実行するスレッドを解放します。

入れ子にできるロックにomp_unset_nest_lock の関数では結果数がゼロの場合は入れ子のカウントをデクリメントしロックの所有権の関数を実行するスレッドを解放します。