Cube  init.mm at [d4f57c85c4]

File src/init.mm artifact 79aa5cd4bd part of check-in d4f57c85c4


#include <vector>

#import "cube.h"
#import "protos.h"

static OFMutableArray<void (^)(void)> *queue;

void
enqueueInit(void (^init)(void))
{
	if (queue == nil)
		queue = [[OFMutableArray alloc] init];

	[queue addObject:init];
}

void
processInitQueue(void)
{
	for (void (^init)(void) in queue)
		init();

	[queue removeAllObjects];
}