From ba5796d9b3ee051b1080ed708c2416063cdbacc2 Mon Sep 17 00:00:00 2001 From: Sean Bright Date: Fri, 4 Oct 2019 16:31:22 -0400 Subject: [PATCH] cdr_mysql: Don't clean up on unload unless we can unregister from CDRs ASTERISK-28566 #close Change-Id: I6daa4e5128e9406d04d3aed670c3bae98d38d40c --- addons/cdr_mysql.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/addons/cdr_mysql.c b/addons/cdr_mysql.c index d72ee09f27..8eb0cbf4df 100644 --- a/addons/cdr_mysql.c +++ b/addons/cdr_mysql.c @@ -389,6 +389,13 @@ static int my_unload_module(int reload) { struct column *entry; + if (!reload) + if (ast_cdr_unregister(name)) { + /* If we can't unregister the backend, we can't unload the module */ + return -1; + } + } + ast_cli_unregister_multiple(cdr_mysql_status_cli, sizeof(cdr_mysql_status_cli) / sizeof(struct ast_cli_entry)); if (connected) { @@ -413,7 +420,8 @@ static int my_unload_module(int reload) if (reload) { return ast_cdr_backend_suspend(name); } else { - return ast_cdr_unregister(name); + /* We unregistered earlier */ + return 0; } } -- 2.17.1