PTHREAD_SPIN_DESTROY(3)

NAME
pthread_spin_destroy - destroy a spin lock

LIBRARY
libpthread

SYNOPSIS
#include <pthread.h>
int
pthread_spin_destroy(pthread_spinlock_t *lock);

DESCRIPTION
The pthread_spin_destroy() function is used to destroy a spin lock previously created with pthread_spin_init().

RETURN VALUES
If successful, the pthread_spin_destroy() function will return zero. Otherwise an error number will be returned to indicate the error.

ERRORS
The pthread_spin_destroy() function may fail if:

[EBUSY]
    The system has detected an attempt to destroy the object referenced by lock while it is locked.

[EINVAL]
    The value specified by lock is invalid.

SEE ALSO
pthread_spin_init(3), pthread_spin_lock(3), pthread_spin_trylock(3), pthread_spin_unlock(3)

STANDARDS
pthread_spin_destroy() conforms to p1003.1-2001.

CAVEATS
Applications using spinlocks are vulnerable to the effects of priority inversion. Applications using real-time threads (SCHED_FIFO, SCHED_RR) should not use these interfaces. Outside carefully controlled environments, priority inversion with spinlocks can lead to system deadlock. Mutexes are preferable in nearly every possible use case.