diff options
author | Kevin Harwell <kharwell@digium.com> | 2016-05-03 15:39:32 -0500 |
---|---|---|
committer | Kevin Harwell <kharwell@digium.com> | 2016-05-05 16:41:50 -0500 |
commit | 3b0ce5169d123312e4b4ac5a65b23325a59ba2a7 (patch) | |
tree | 29a4bcaeb02a3832b72e74c2c9481f41d5a495f2 /res | |
parent | 41fccbfeb19a2e96596fe867a3cd94397f307ba4 (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.c | 2 |
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); |