📄 spinlock.h
字号:
#ifndef __SPINLOCK_H#define __SPINLOCK_Hstatic inline int testandset(volatile int *spinlock){ int ret; __asm__ __volatile__("xchgl %0, %1" : "=r"(ret), "=m"(*spinlock) : "0"(1), "m"(*spinlock)); return ret;}inline void spinlock_lock(volatile int * spinlock){ while (testandset(spinlock))#if 0 yield();#else ;#endif}inline void spinlock_unlock(volatile int * spinlock){#ifndef RELEASE *spinlock = 0;#else RELEASE(spinlock);#endif}#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -