From: Anthony Minessale Date: Thu, 1 Nov 2012 17:27:11 +0000 (-0500) Subject: revert X-Git-Tag: v1.3.1~16 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b113330049766cf27219ebdf5f243e52e8fa0054;p=thirdparty%2Ffreeswitch.git revert --- diff --git a/src/switch_apr.c b/src/switch_apr.c index aeb10185a9..d4db415280 100644 --- a/src/switch_apr.c +++ b/src/switch_apr.c @@ -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)