diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index dda1e688cf1a37968afab1bef90de2b0272a965d..5eb447e99f0bf7e4bfc2fc5e39aee5c6ec514535 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -632,9 +632,7 @@ struct chan_iax2_pvt { static struct ast_iax2_queue { AST_LIST_HEAD(, iax_frame) queue; int count; -} iaxq = { - .queue = AST_LIST_HEAD_INIT_VALUE -}; +} iaxq; static AST_LIST_HEAD_STATIC(users, iax2_user); @@ -9986,6 +9984,8 @@ static int __unload_module(void) AST_LIST_TRAVERSE_SAFE_END AST_LIST_UNLOCK(&dynamic_list); + AST_LIST_HEAD_DESTROY(&iaxq.queue); + ast_netsock_release(netsock); for (x=0;x<IAX_MAX_CALLS;x++) if (iaxs[x]) @@ -10059,6 +10059,8 @@ static int load_module(void) } ast_netsock_init(netsock); + + AST_LIST_HEAD_INIT(&iaxq.queue); ast_cli_register_multiple(cli_iax2, sizeof(cli_iax2) / sizeof(struct ast_cli_entry));