From 0fe7df641aa0e23b8400d32b935de4834ee4f182 Mon Sep 17 00:00:00 2001 From: Corey Farrell Date: Fri, 29 Dec 2017 15:50:12 -0500 Subject: datastore: Add automatic module references. Add a reference to the calling module when it is active to protect access to datastore->info. Remove module references done by func_periodic_hook as the datastore now handles it. ASTERISK-25128 #close Change-Id: I8357a3711e77591d0d1dd8ab4211a7eedd782c89 --- funcs/func_periodic_hook.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'funcs') diff --git a/funcs/func_periodic_hook.c b/funcs/func_periodic_hook.c index 0ab3d6b8b..958da9728 100644 --- a/funcs/func_periodic_hook.c +++ b/funcs/func_periodic_hook.c @@ -137,8 +137,6 @@ static void hook_datastore_destroy_callback(void *data) ast_free(state->context); ast_free(state->exten); ast_free(state); - - ast_module_unref(ast_module_info->self); } static const struct ast_datastore_info hook_datastore = { @@ -305,7 +303,7 @@ static int init_hook(struct ast_channel *chan, const char *context, const char * if (!(datastore = ast_datastore_alloc(&hook_datastore, uid))) { return -1; } - ast_module_ref(ast_module_info->self); + if (!(state = hook_state_alloc(context, exten, interval, hook_id))) { ast_datastore_free(datastore); return -1; -- cgit v1.2.3