BigOS/include/yieldlock.h
2023-01-09 20:00:10 +08:00

13 lines
222 B
C

#pragma once
#include "x86.h"
#include "proto.h"
static inline void acquire_y(volatile u32* lock) {
while (xchg(lock, 1) == 1){
sys_yield();
}
}
static inline void release_y(volatile u32* lock) {
xchg(lock, 0);
}