git: 9front

ref: 8bde3fa27a62e16496f1316c5297b4eef9689bba
dir: /sys/src/libc/9sys/privalloc.c/

View raw version
#include <u.h>
#include <libc.h>

static Lock	privlock;

extern void	**_privates;
extern int	_nprivates;

void **
privalloc(void)
{
	void **p;

	lock(&privlock);
	if(_nprivates > 0)
		p = &_privates[--_nprivates];
	else
		p = nil;
	unlock(&privlock);

	return p;
}