spinlock.h

来自「linux或unix下回话劫持工具」· C头文件 代码 · 共 35 行

H
35
字号
#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 + =
减小字号Ctrl + -
显示快捷键?