From a705f29e7dcfa9c2c9d346005692c9bfe69749f4 Mon Sep 17 00:00:00 2001 From: sangorrin Date: Tue, 15 Apr 2008 11:42:59 +0000 Subject: [PATCH] add a lock for the queue structures when dequeued, for th moment is hardwired to network 0 git-svn-id: http://www.frescor.org/private/svn/frescor/fna/trunk@1114 35b4ef3e-fd22-0410-ab77-dab3279adceb --- src_frescan/frescan_queues.c | 5 +++++ 1 file changed, 5 insertions(+) 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; -- 2.39.2