]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
res_pjsip_outbound_publish: Won't unload if condition wait times out 03/2803/1
authorKevin Harwell <kharwell@digium.com>
Tue, 3 May 2016 20:39:32 +0000 (15:39 -0500)
committerKevin Harwell <kharwell@digium.com>
Wed, 11 May 2016 16:40:42 +0000 (11:40 -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 60f9bbb177497d694a50dd0fa074ec781df992c8..141cdef620526744e845c4679551f362d2af0909 100644 (file)
@@ -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);