From: Anthony Minessale Date: Tue, 4 Apr 2006 18:47:34 +0000 (+0000) Subject: fix event system X-Git-Tag: v1.0-beta1~2932 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cf16ac34a9cede1a3f033d9172c8b8b5ebb28057;p=thirdparty%2Ffreeswitch.git fix event system git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1043 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- 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]) {