]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
fix event system
authorAnthony Minessale <anthony.minessale@gmail.com>
Tue, 4 Apr 2006 18:47:34 +0000 (18:47 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Tue, 4 Apr 2006 18:47:34 +0000 (18:47 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1043 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/switch_event.c

index 7f660c0d2cad7a3241852e6119ecc805568ab630..a791a040b40984141cb785bd87ce5eec98d3dfc0 100644 (file)
@@ -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]) {