All pastes #751643 Raw Edit

Someone

public text v1 · immutable
#751643 ·published 2007-10-27 16:15 UTC
rendered paste body
bool queue_peek(struct event_queue *q, struct queue_event *ev)
{
    if (q->read == q->write)
         return false;

    bool have_msg = false;

    int oldlevel = set_irq_level(HIGHEST_IRQ_LEVEL);
    corelock_lock(&q->cl);

    if (q->read != q->write)
    {
        *ev = q->events[q->read & QUEUE_LENGTH_MASK];
        have_msg = true;
    }

    corelock_unlock(&q->cl);
    set_irq_level(oldlevel);

    return have_msg;
}