Esempio n. 1
0
struct slist_entry *_gnix_queue_get_free(struct gnix_queue *queue)
{
	struct slist_entry *ret;

	ret = _gnix_queue_dequeue_free(queue);
	if (!ret)
		ret = queue->alloc_item(queue->entry_size);

	return ret;
}
Esempio n. 2
0
void _gnix_queue_destroy(struct gnix_queue *queue)
{
	struct slist_entry *temp;

	while ((temp = _gnix_queue_dequeue(queue)))
		queue->free_item(temp);

	while ((temp = _gnix_queue_dequeue_free(queue)))
		queue->free_item(temp);

	free(queue);
}
Esempio n. 3
0
Test(empty, null_read)
{
	struct slist_entry *list_entry;

	list_entry = _gnix_queue_dequeue(queue);
	cr_expect(!list_entry, "non null read on empty queue.");

	list_entry = _gnix_queue_dequeue_free(queue);
	cr_expect(!list_entry, "non null read on free list of empty queue.");

	list_entry = _gnix_queue_peek(queue);
	cr_expect(!list_entry, "non null peek on empty queue.");
}