Author: kmoore
Date: Thu Aug 15 16:56:45 2013
New Revision: 396813
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=396813
Log:
Clean up partial failed loads
Modified:
team/kmoore/parking_unload/res/res_parking.c
Modified: team/kmoore/parking_unload/res/res_parking.c
URL:
http://svnview.digium.com/svn/asterisk/team/kmoore/parking_unload/res/res_parking.c?view=diff&rev=396813&r1=396812&r2=396813
==============================================================================
--- team/kmoore/parking_unload/res/res_parking.c (original)
+++ team/kmoore/parking_unload/res/res_parking.c Thu Aug 15 16:56:45 2013
@@ -1162,6 +1162,22 @@
ast_module_unref(ast_module_info->self);
}
+static int unload_module(void)
+{
+ unload_parking_bridge_features();
+ remove_all_configured_parking_lot_extensions();
+ unload_parking_applications();
+ unload_parking_manager();
+ unload_parking_ui();
+ unload_parking_devstate();
+ unload_parking_tests();
+ ao2_cleanup(parking_lot_container);
+ parking_lot_container = NULL;
+ aco_info_destroy(&cfg_info);
+
+ return 0;
+}
+
static int load_module(void)
{
parking_lot_container =
ao2_container_alloc_list(AO2_ALLOC_OPT_LOCK_MUTEX,
@@ -1231,9 +1247,7 @@
return AST_MODULE_LOAD_SUCCESS;
error:
- /* XXX errored loads don't currently do a good job of cleaning up after
themselves */
- ao2_cleanup(parking_lot_container);
- aco_info_destroy(&cfg_info);
+ unload_module();
return AST_MODULE_LOAD_DECLINE;
}
@@ -1242,22 +1256,6 @@
if (aco_process_config(&cfg_info, 1) == ACO_PROCESS_ERROR) {
return AST_MODULE_LOAD_DECLINE;
}
-
- return 0;
-}
-
-static int unload_module(void)
-{
- unload_parking_bridge_features();
- remove_all_configured_parking_lot_extensions();
- unload_parking_applications();
- unload_parking_manager();
- unload_parking_ui();
- unload_parking_devstate();
- unload_parking_tests();
- ao2_cleanup(parking_lot_container);
- parking_lot_container = NULL;
- aco_info_destroy(&cfg_info);
return 0;
}
--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
svn-commits mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/svn-commits