15 lines
265 B
C
15 lines
265 B
C
|
|
#include <socks/locks.h>
|
||
|
|
|
||
|
|
void spin_lock_irqsave(spin_lock_t *lck, unsigned long *flags)
|
||
|
|
{
|
||
|
|
while (!__sync_bool_compare_and_swap(lck, 0, 1)) {
|
||
|
|
/* pause */
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
void spin_unlock_irqrestore(spin_lock_t *lck, unsigned long flags)
|
||
|
|
{
|
||
|
|
__sync_lock_release(lck);
|
||
|
|
}
|
||
|
|
|