Exemplo n.º 1
0
/**
 * ds_queue_pop_entry - pop entry from end of queue
 * @q: queue
 *
 * Return NULL if queue is empty.
 */
struct ds_list_entry *ds_queue_pop_entry(struct ds_queue *q)
{
	struct ds_list_entry *last = ds_list_last(&q->q);

	if (!last)
		return NULL;

	ds_list_remove_entry(&q->q, last);
	return last;
}
Exemplo n.º 2
0
void *ds_hash_last(ds_hash_t *t, void *e)
{
    int bucket;
    ds_list_t *chain;

    CODA_ASSERT(DS_HASH_VALID(t));
    bucket = (t->hfn(e)) % t->nbuckets;
    chain  = (t->buckets)[bucket];
    return (ds_list_last(chain));
}