]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
res_pjsip_outbound_publish: Won't unload if condition wait times out 52/2752/2
authorKevin Harwell <kharwell@digium.com>
Tue, 3 May 2016 20:39:32 +0000 (15:39 -0500)
committerKevin Harwell <kharwell@digium.com>
Thu, 5 May 2016 21:41:50 +0000 (16:41 -0500)
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

res/res_pjsip_outbound_publish.c

index f13af10def0a32ab59f1087db79529009739b969..0f0e290af95fef8c42863282901c9af199deb395 100644 (file)
@@ -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);