summaryrefslogtreecommitdiff
path: root/res/parking
diff options
context:
space:
mode:
authorJoshua Colp <jcolp@digium.com>2015-01-27 11:47:57 +0000
committerJoshua Colp <jcolp@digium.com>2015-01-27 11:47:57 +0000
commit2504f97b01fa0fa1dfbfa9f8d9fd80e3a5376fe9 (patch)
treeac5b9ef61d5e1a3f4a96f265b901f1f7061a692d /res/parking
parent965777ccfc61067d1dc79f79c12d52f794fa3983 (diff)
res_parking: Fix crash due to race condition when unloading.
There is currently a race condition when unloading the res_parking module. Depending on the will of the universe the subscription invocation may occur AFTER the module is unloaded. This is because the module does NOT use stasis_unsubscribe_and_join when terminating the subscription. It merely uses stasis_unsubscribe. This change makes it use stasis_unsubscribe_and_join which is documented for usage in this exact scenario. AST-1520 #close Review: https://reviewboard.asterisk.org/r/4375/ ........ Merged revisions 431114 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@431115 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'res/parking')
-rw-r--r--res/parking/parking_manager.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/res/parking/parking_manager.c b/res/parking/parking_manager.c
index 74b455928..b9e46c7d5 100644
--- a/res/parking/parking_manager.c
+++ b/res/parking/parking_manager.c
@@ -689,7 +689,7 @@ int load_parking_manager(void)
static void parking_manager_disable_stasis(void)
{
- parking_sub = stasis_unsubscribe(parking_sub);
+ parking_sub = stasis_unsubscribe_and_join(parking_sub);
}
void unload_parking_manager(void)