add: *_newPool = NULL;
context: int32 pool_init(struct pool_ctl **_newPool, size_t size){	struct pool_ctl *pool = NULL;	if (init_sem == -1)		create_sem(1, "pool_init_sem");	/* minimum block size is sizeof the free_blk structure */	if (size < sizeof(struct free_blk)) 		return EINVAL;//	acquire_sem_etc(init_sem, 1, B_CAN_INTERRUPT, 0);		pool = (struct pool_ctl *)malloc(sizeof(struct pool_ctl));	if (pool == NULL)		return ENOMEM;	memset(pool, 0, sizeof(*pool));		#if POOL_USES_BENAPHORES		INIT_BENAPHORE(pool->lock, "pool_lock");		if (CHECK_BENAPHORE(pool->lock) < 0) {			free(pool);			return ENOLCK;		}	#else		INIT_RW_LOCK(pool->lock, "pool_lock");		if (CHECK_RW_LOCK(pool->lock) < 0) {			free(pool);			return ENOLCK;		}	#endif	// 4 puddles will always fit in one pool	pool->block_size = ROUND_TO_PAGE_SIZE(size * 8);	pool->alloc_size = size;	pool->list = NULL;	pool->freelist = NULL;	/* now add a first block */	get_mem_block(pool);	if (!pool->list) {		#if POOL_USES_BENAPHORES			UNINIT_BENAPHORE(pool->lock);		#else			UNINIT_RW_LOCK(pool->lock);		#endif		free(pool);		return ENOMEM;	}	*_newPool = pool;//	release_sem_etc(init_sem, 1, B_CAN_INTERRUPT);		return 0;}