in threads.c [40:60]
static void push_prequeue_to_worker(struct ncrx_listener *listener, int worker)
{
struct ncrx_worker *tgt = &listener->workers[worker];
struct ncrx_prequeue *prequeue = &listener->prequeues[worker];
assert_pthread_mutex_locked(&tgt->queuelock);
if (tgt->queue_head)
tgt->queue_tail->next = prequeue->queue_head;
else
tgt->queue_head = prequeue->queue_head;
tgt->queue_tail = prequeue->queue_tail;
prequeue->queue_head = NULL;
debug("Listener %d pushed %d pkts to worker %d (backlog: %d)\n",
listener->thread_nr, prequeue->count, worker->thread_nr, tgt->nr_queued);
tgt->nr_queued += prequeue->count;
prequeue->count = 0;
}