獲得されたスピンロックを解放するには、pthread_spin_unlock(3C) 関数を使用します。
int pthread_spin_unlock(pthread_spinlock_t *lock);
#include <pthread.h> pthread_spinlock_t lock; int ret; ret = pthread_spin_unlock(&lock); /* spinlock is unlocked */
pthread_spin_unlock() 関数は、正常終了時に 0 を返します。それ以外の場合は、次のいずれかのエラーコードが返されます。
EPERM
説明:呼び出しスレッドがロックを保持していません。
EINVAL
説明:lock で指定された値が、初期化されたスピンロックオブジェクトを表していません。