]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
cdr_mysql: Don't clean up on unload unless we can unregister from CDRs
authorSean Bright <sean.bright@gmail.com>
Fri, 4 Oct 2019 20:31:22 +0000 (16:31 -0400)
committerSean Bright <sean.bright@gmail.com>
Fri, 4 Oct 2019 21:00:46 +0000 (16:00 -0500)
ASTERISK-28566 #close

Change-Id: I6daa4e5128e9406d04d3aed670c3bae98d38d40c

addons/cdr_mysql.c

index 61d5d5c3ac6ceba285beb040a88d5c7caf136f1e..3f67dd5ca7371c206c6db5a27b55ba2040a40936 100644 (file)
@@ -382,6 +382,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) {
@@ -406,7 +413,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;
        }
 }