summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Harwell <kharwell@digium.com>2016-05-03 15:39:32 -0500
committerKevin Harwell <kharwell@digium.com>2016-05-11 11:40:42 -0500
commit4752ef02e02dfcb1b1ec38d154eb9bc42736df3c (patch)
treee87fbbd7d1c4eb0c5bf98435c891239c38ca5282
parent81773ceb9cb03e11b9a39fb882dcc72815784566 (diff)
res_pjsip_outbound_publish: Won't unload if condition wait times out
When res_pjsip_outbound_publish unloads it has to wait for all current publishing objects to get done. However if the wait condition times out then it does not fail the unload. This sometimes results in an infinite loop check while unloading. This patch now fails the unload operation if the condition times out. Change-Id: Id57b8cbed9d61222690fcba1e4f18e259df4c7ec
-rw-r--r--res/res_pjsip_outbound_publish.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/res/res_pjsip_outbound_publish.c b/res/res_pjsip_outbound_publish.c
index 60f9bbb17..141cdef62 100644
--- a/res/res_pjsip_outbound_publish.c
+++ b/res/res_pjsip_outbound_publish.c
@@ -1200,7 +1200,7 @@ static int unload_module(void)
/* wait for items to unpublish */
ast_verb(5, "Waiting to complete unpublishing task(s)\n");
- while (unloading.count) {
+ while (unloading.count && !res) {
res = ast_cond_timedwait(&unloading.cond, &unloading.lock, &end);
}
ast_mutex_unlock(&unloading.lock);