Exemplo n.º 1
0
void
ringbuffer_free(struct ringbuffer * rb, struct ringbuffer_block * blk) {
	if (blk == NULL)
		return;
	int id = _block_id(blk);
	blk->id = -1;
	while (blk->next >= 0) {
		blk = block_ptr(rb, blk->next);
		assert(_block_id(blk) == id);
		blk->id = -1;
	}
}
Exemplo n.º 2
0
/**	@fn	void ringbuffer_free(RINGBUFFER * rb, RBUF_BLOCK * blk)
 *	@brief 将已经断开连接的数据块id置-1	 
 *	@param rb	指向ringbuffer的指针 
 *	@param blk	指向已断开连接的第一块数据块 
 *	@return	N/A		
 */
void ringbuffer_free(RINGBUFFER * rb, RBUF_BLOCK * blk)
{
	if (blk == NULL)
	{ 
		return;
	} 
	int id = _block_id(blk);
	blk->id = -1;
	while (blk->next >= 0) 
	{
		blk = block_ptr(rb, blk->next);
		assert(_block_id(blk) == id);
		blk->id = -1;
	}
}