void *
bqueue_dequeue(bqueue_t *q)
{
- void *ret;
+ void *ret = NULL;
uint64_t item_size;
mutex_enter(&q->bq_lock);
while (q->bq_size == 0) {
cv_wait(&q->bq_pop_cv, &q->bq_lock);
}
ret = list_remove_head(&q->bq_list);
+ ASSERT3P(ret, !=, NULL);
item_size = obj2node(q, ret)->bqn_size;
q->bq_size -= item_size;
- mutex_exit(&q->bq_lock);
cv_signal(&q->bq_add_cv);
+ mutex_exit(&q->bq_lock);
return (ret);
}