mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 15:45:18 +00:00
Merge "Fix potential crash after unload of func_periodic_hook or test_message."
This commit is contained in:
@@ -446,13 +446,9 @@ static struct ast_custom_function hook_function = {
|
||||
.write = hook_write,
|
||||
};
|
||||
|
||||
static struct ast_context *func_periodic_hook_context;
|
||||
|
||||
static int unload_module(void)
|
||||
{
|
||||
if (func_periodic_hook_context) {
|
||||
ast_context_destroy(func_periodic_hook_context, AST_MODULE);
|
||||
}
|
||||
ast_context_destroy(NULL, AST_MODULE);
|
||||
|
||||
return ast_custom_function_unregister(&hook_function);
|
||||
}
|
||||
@@ -461,9 +457,7 @@ static int load_module(void)
|
||||
{
|
||||
int res;
|
||||
|
||||
func_periodic_hook_context = ast_context_find_or_create(NULL, NULL,
|
||||
context_name, AST_MODULE);
|
||||
if (!func_periodic_hook_context) {
|
||||
if (!ast_context_find_or_create(NULL, NULL, context_name, AST_MODULE)) {
|
||||
ast_log(LOG_ERROR, "Failed to create %s dialplan context.\n", context_name);
|
||||
return AST_MODULE_LOAD_DECLINE;
|
||||
}
|
||||
|
@@ -51,8 +51,6 @@ ASTERISK_REGISTER_FILE()
|
||||
/*! \brief The number of user events we should get in a dialplan test */
|
||||
#define DEFAULT_EXPECTED_EVENTS 4
|
||||
|
||||
static struct ast_context *test_message_context;
|
||||
|
||||
/*! \brief The current number of received user events */
|
||||
static int received_user_events;
|
||||
|
||||
@@ -822,9 +820,7 @@ static int unload_module(void)
|
||||
AST_TEST_UNREGISTER(test_message_has_destination_handler);
|
||||
AST_TEST_UNREGISTER(test_message_msg_send);
|
||||
|
||||
if (test_message_context) {
|
||||
ast_context_destroy(test_message_context, AST_MODULE);
|
||||
}
|
||||
ast_context_destroy(NULL, AST_MODULE);
|
||||
|
||||
ast_manager_unregister_hook(&user_event_hook);
|
||||
|
||||
@@ -835,8 +831,7 @@ static int create_test_dialplan(void)
|
||||
{
|
||||
int res = 0;
|
||||
|
||||
test_message_context = ast_context_find_or_create(NULL, NULL, TEST_CONTEXT, AST_MODULE);
|
||||
if (!test_message_context) {
|
||||
if (!ast_context_find_or_create(NULL, NULL, TEST_CONTEXT, AST_MODULE)) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user