From cf16ac34a9cede1a3f033d9172c8b8b5ebb28057 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Tue, 4 Apr 2006 18:47:34 +0000 Subject: [PATCH] fix event system git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1043 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- src/switch_event.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/switch_event.c b/src/switch_event.c index 7f660c0d2c..a791a040b4 100644 --- a/src/switch_event.c +++ b/src/switch_event.c @@ -155,12 +155,15 @@ static void *SWITCH_THREAD_FUNC switch_event_thread(switch_thread *thread, void queues[0] = EVENT_QUEUE[SWITCH_PRIORITY_HIGH]; queues[1] = EVENT_QUEUE[SWITCH_PRIORITY_NORMAL]; queues[2] = EVENT_QUEUE[SWITCH_PRIORITY_LOW]; + + for(;;) { + len[1] = switch_queue_size(EVENT_QUEUE[SWITCH_PRIORITY_NORMAL]); + len[2] = switch_queue_size(EVENT_QUEUE[SWITCH_PRIORITY_LOW]); + len[0] = switch_queue_size(EVENT_QUEUE[SWITCH_PRIORITY_HIGH]); - while (THREAD_RUNNING == 1 || - (len[1] = switch_queue_size(EVENT_QUEUE[SWITCH_PRIORITY_NORMAL])) || - (len[2] = switch_queue_size(EVENT_QUEUE[SWITCH_PRIORITY_LOW])) || - (len[0] = switch_queue_size(EVENT_QUEUE[SWITCH_PRIORITY_HIGH])) - ) { + if (THREAD_RUNNING != 1 && !len[0] && !len[1] && !len[2]) { + break; + } for(i = 0; i < 3; i++) { if (len[i]) {