Esempio n. 1
0
int swRingQueue_pop(swRingQueue * p_queue, void **pop_data)
{
	if (swRingQueue_empty(p_queue))
	{
		swTrace("queue empty\n");
		return -1;
	}

	*pop_data = p_queue->data[p_queue->head];
	p_queue->head = (p_queue->head + 1) % p_queue->size;

	/* 这个时候一定队列空了*/
	if (p_queue->tail == p_queue->head)
	{
		p_queue->tag = 0;
	}
	return p_queue->tag;
}
Esempio n. 2
0
int swRingQueue_pop(swRingQueue *queue, void **pop_data)
{
	if (swRingQueue_empty(queue))
	{
		swTrace("queue empty\n");
		return -1;
	}

	*pop_data = queue->data[queue->head];
	queue->head = (queue->head + 1) % queue->size;

	/* 这个时候一定队列空了*/
	if (queue->tail == queue->head)
	{
		queue->tag = 0;
	}
	return queue->tag;
}
Esempio n. 3
0
static PHP_METHOD(swoole_ringqueue, isEmpty)
{
    swRingQueue *queue = swoole_get_object(getThis());
    RETURN_BOOL(swRingQueue_empty(queue));
}