summaryrefslogtreecommitdiff
path: root/res/res_pjsip_outbound_publish.c
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 /res/res_pjsip_outbound_publish.c
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
Diffstat (limited to 'res/res_pjsip_outbound_publish.c')
-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);