Lines Matching defs:p_spinlock
42 void cl_spinlock_construct(IN cl_spinlock_t * const p_spinlock)
44 CL_ASSERT(p_spinlock);
46 p_spinlock->state = CL_UNINITIALIZED;
49 cl_status_t cl_spinlock_init(IN cl_spinlock_t * const p_spinlock)
51 CL_ASSERT(p_spinlock);
53 cl_spinlock_construct(p_spinlock);
56 if (pthread_mutex_init(&p_spinlock->mutex, NULL))
59 p_spinlock->state = CL_INITIALIZED;
63 void cl_spinlock_destroy(IN cl_spinlock_t * const p_spinlock)
65 CL_ASSERT(p_spinlock);
66 CL_ASSERT(cl_is_state_valid(p_spinlock->state));
68 if (p_spinlock->state == CL_INITIALIZED) {
69 p_spinlock->state = CL_UNINITIALIZED;
70 pthread_mutex_lock(&p_spinlock->mutex);
71 pthread_mutex_unlock(&p_spinlock->mutex);
72 pthread_mutex_destroy(&p_spinlock->mutex);
74 p_spinlock->state = CL_UNINITIALIZED;
77 void cl_spinlock_acquire(IN cl_spinlock_t * const p_spinlock)
79 CL_ASSERT(p_spinlock);
80 CL_ASSERT(p_spinlock->state == CL_INITIALIZED);
82 pthread_mutex_lock(&p_spinlock->mutex);
85 void cl_spinlock_release(IN cl_spinlock_t * const p_spinlock)
87 CL_ASSERT(p_spinlock);
88 CL_ASSERT(p_spinlock->state == CL_INITIALIZED);
90 pthread_mutex_unlock(&p_spinlock->mutex);