[Freeswitch-svn] [commit] r6021 - freeswitch/trunk/src

Freeswitch SVN anthm at freeswitch.org
Mon Oct 22 19:29:29 EDT 2007


Author: anthm
Date: Mon Oct 22 19:29:29 2007
New Revision: 6021

Modified:
   freeswitch/trunk/src/switch_apr.c

Log:
handle APR_EINTR response in queue push\trypop

Modified: freeswitch/trunk/src/switch_apr.c
==============================================================================
--- freeswitch/trunk/src/switch_apr.c	(original)
+++ freeswitch/trunk/src/switch_apr.c	Mon Oct 22 19:29:29 2007
@@ -745,7 +745,13 @@
 
 SWITCH_DECLARE(switch_status_t) switch_queue_push(switch_queue_t * queue, void *data)
 {
-	return apr_queue_push(queue, data);
+	apr_status_t s;
+
+	do {
+		s = apr_queue_push(queue, data);
+	} while (s == APR_EINTR);
+	
+	return s;
 }
 
 SWITCH_DECLARE(switch_status_t) switch_queue_trypop(switch_queue_t * queue, void **data)
@@ -755,7 +761,13 @@
 
 SWITCH_DECLARE(switch_status_t) switch_queue_trypush(switch_queue_t * queue, void *data)
 {
-	return apr_queue_trypush(queue, data);
+	apr_status_t s;
+
+	do {
+		s = apr_queue_trypush(queue, data);
+	} while (s == APR_EINTR);
+
+	return s;
 }
 
 SWITCH_DECLARE(int) switch_vasprintf(char **ret, const char *fmt, va_list ap)



More information about the Freeswitch-svn mailing list