]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
revert
authorAnthony Minessale <anthm@freeswitch.org>
Thu, 1 Nov 2012 17:27:11 +0000 (12:27 -0500)
committerAnthony Minessale <anthm@freeswitch.org>
Thu, 1 Nov 2012 17:27:11 +0000 (12:27 -0500)
src/switch_apr.c

index aeb10185a93d09590e051fa6f068b2eb7bbc07d4..d4db41528084589b37717910737ae90280e169a9 100644 (file)
@@ -1050,7 +1050,13 @@ SWITCH_DECLARE(unsigned int) switch_queue_size(switch_queue_t *queue)
 
 SWITCH_DECLARE(switch_status_t) switch_queue_pop(switch_queue_t *queue, void **data)
 {
-       return apr_queue_pop(queue, data);
+       apr_status_t s;
+
+       do {
+               s = apr_queue_pop(queue, data);
+       } while (s == APR_EINTR);
+
+       return s;
 }
 
 SWITCH_DECLARE(switch_status_t) switch_queue_pop_timeout(switch_queue_t *queue, void **data, switch_interval_time_t timeout)
@@ -1072,7 +1078,14 @@ SWITCH_DECLARE(switch_status_t) switch_queue_push(switch_queue_t *queue, void *d
 
 SWITCH_DECLARE(switch_status_t) switch_queue_trypop(switch_queue_t *queue, void **data)
 {
-       return apr_queue_trypop(queue, data);
+       apr_status_t s;
+
+       do {
+               s = apr_queue_trypop(queue, data);
+       } while (s == APR_EINTR);
+
+       return s;
+       
 }
 
 SWITCH_DECLARE(switch_status_t) switch_queue_interrupt_all(switch_queue_t *queue)