⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lock.h

📁 be文件系统实现的源码
💻 H
字号:
#ifndef _LOCK_H#define _LOCK_Htypedef struct lock lock;typedef struct mlock mlock;struct lock {    sem_id      s;    long        c;};struct mlock {    sem_id      s;};extern int  new_lock(lock *l, const char *name);extern int  free_lock(lock *l);#define LOCK(l)     if (atomic_add(&l.c, -1) <= 0) acquire_sem(l.s);#define UNLOCK(l)   if (atomic_add(&l.c, 1) < 0) release_sem(l.s);extern int  new_mlock(mlock *l, long c, const char *name);extern int  free_mlock(mlock *l);#define     LOCKM(l,cnt)    acquire_sem_etc(l.s, cnt, 0, 0.0)#define     UNLOCKM(l,cnt)  release_sem_etc(l.s, cnt, 0)#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -