privalloc.c
来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· C语言 代码 · 共 46 行
C
46 行
#include <u.h>#include <libc.h>static Lock privlock;static int privinit;static void **privs;extern void **_privates;extern int _nprivates;void **privalloc(void){ void **p; int i; lock(&privlock); if(!privinit){ privinit = 1; if(_nprivates){ _privates[0] = 0; for(i = 1; i < _nprivates; i++) _privates[i] = &_privates[i - 1]; privs = &_privates[i - 1]; } } p = privs; if(p != nil){ privs = *p; *p = nil; } unlock(&privlock); return p;}voidprivfree(void **p){ lock(&privlock); if(p != nil && privinit){ *p = privs; privs = p; } unlock(&privlock);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?