int pthread_spin_trylock( pthread_spinlock_t *spinlock ) { POSIX_Spinlock_Control *the_spinlock; ISR_lock_Context lock_context; CORE_spinlock_Status status; the_spinlock = _POSIX_Spinlock_Get( spinlock, &lock_context ); if ( the_spinlock == NULL ) { return EINVAL; } status = _CORE_spinlock_Seize( &the_spinlock->Spinlock, false, 0, &lock_context ); return _POSIX_Spinlock_Translate_core_spinlock_return_code( status ); }
int pthread_spin_lock( pthread_spinlock_t *spinlock ) { POSIX_Spinlock_Control *the_spinlock; ISR_lock_Context lock_context; Status_Control status; the_spinlock = _POSIX_Spinlock_Get( spinlock, &lock_context ); if ( the_spinlock == NULL ) { return EINVAL; } status = _CORE_spinlock_Seize( &the_spinlock->Spinlock, true, 0, &lock_context ); return _POSIX_Get_error( status ); }