2016-11-25 17:18:40 +01:00
|
|
|
#include <u.h>
|
|
|
|
#include <libc.h>
|
|
|
|
|
|
|
|
static Lock privlock;
|
|
|
|
|
|
|
|
extern void **_privates;
|
|
|
|
extern int _nprivates;
|
|
|
|
|
|
|
|
void **
|
2017-04-19 23:33:14 +02:00
|
|
|
jehanne_privalloc(void)
|
2016-11-25 17:18:40 +01:00
|
|
|
{
|
|
|
|
void **p;
|
|
|
|
|
2017-04-19 23:33:14 +02:00
|
|
|
jehanne_lock(&privlock);
|
2016-11-25 17:18:40 +01:00
|
|
|
if(_nprivates > 0)
|
|
|
|
p = &_privates[--_nprivates];
|
|
|
|
else
|
|
|
|
p = nil;
|
2017-04-19 23:33:14 +02:00
|
|
|
jehanne_unlock(&privlock);
|
2016-11-25 17:18:40 +01:00
|
|
|
|
|
|
|
return p;
|
|
|
|
}
|