summaryrefslogtreecommitdiff
path: root/res
diff options
context:
space:
mode:
authorKevin Harwell <kharwell@digium.com>2016-05-03 15:39:32 -0500
committerKevin Harwell <kharwell@digium.com>2016-05-05 16:41:50 -0500
commit3b0ce5169d123312e4b4ac5a65b23325a59ba2a7 (patch)
tree29a4bcaeb02a3832b72e74c2c9481f41d5a495f2 /res
parent41fccbfeb19a2e96596fe867a3cd94397f307ba4 (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')
-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 f13af10de..0f0e290af 100644
--- a/res/res_pjsip_outbound_publish.c
+++ b/res/res_pjsip_outbound_publish.c
@@ -1221,7 +1221,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);