X-Git-Url: https://rtime.felk.cvut.cz/gitweb/frescor/fna.git/blobdiff_plain/5a24fc26813708df93d822f7f4ee0009ee54e3b2..a705f29e7dcfa9c2c9d346005692c9bfe69749f4:/src_frescan/frescan_queues.c diff --git a/src_frescan/frescan_queues.c b/src_frescan/frescan_queues.c index 5abe9f1..6d1d150 100644 --- a/src_frescan/frescan_queues.c +++ b/src_frescan/frescan_queues.c @@ -203,6 +203,9 @@ int frescan_pqueue_dequeue(frescan_prio_queue_t *pqueue, DEBUG(FRESCAN_QUEUES_ENABLE_DEBUG, "check priority fifo queues (max_prio=%u)\n", pqueue->max_prio); + // TODO: the lock is currently hardwired to network 0!!! + FRESCAN_ACQUIRE_LOCK(&the_networks[0].lock); + for(prio=pqueue->max_prio-1; prio >= 0; prio--) { if (!list_empty(&pqueue->fifo_queues[prio].fifo_list)) { list_for_each(pos, @@ -217,6 +220,8 @@ int frescan_pqueue_dequeue(frescan_prio_queue_t *pqueue, } } + FRESCAN_RELEASE_LOCK(&the_networks[0].lock); + DEBUG(FRESCAN_QUEUES_ENABLE_DEBUG, "dequeued prio %u\n", prio); *packet_prio = prio;