[asterisk-commits] kmoore: trunk r397110 - in /trunk: ./ main/astfd.c main/threadstorage.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Tue Aug 20 10:36:12 CDT 2013
Author: kmoore
Date: Tue Aug 20 10:36:10 2013
New Revision: 397110
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=397110
Log:
Unregister CLI commands on exit
This patch ensures that CLI commands enabled by DEBUG_FD_LEAKS and
DEBUG_THREADLOCALS are cleaned up properly on exit.
(closes issue ASTERISK-22238)
Reported by: Corey Farrell
Tested by: Corey Farrell
Patches:
debug_cli_unregister.patch uploaded by Corey Farrell
........
Merged revisions 397106 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 397107 from http://svn.asterisk.org/svn/asterisk/branches/11
Modified:
trunk/ (props changed)
trunk/main/astfd.c
trunk/main/threadstorage.c
Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-11-merged' - no diff available.
Modified: trunk/main/astfd.c
URL: http://svnview.digium.com/svn/asterisk/trunk/main/astfd.c?view=diff&rev=397110&r1=397109&r2=397110
==============================================================================
--- trunk/main/astfd.c (original)
+++ trunk/main/astfd.c Tue Aug 20 10:36:10 2013
@@ -274,8 +274,14 @@
static struct ast_cli_entry cli_show_fd = AST_CLI_DEFINE(handle_show_fd, "Show open file descriptors");
+static void fd_shutdown(void)
+{
+ ast_cli_unregister(&cli_show_fd);
+}
+
int ast_fd_init(void)
{
+ ast_register_atexit(fd_shutdown);
return ast_cli_register(&cli_show_fd);
}
Modified: trunk/main/threadstorage.c
URL: http://svnview.digium.com/svn/asterisk/trunk/main/threadstorage.c?view=diff&rev=397110&r1=397109&r2=397110
==============================================================================
--- trunk/main/threadstorage.c (original)
+++ trunk/main/threadstorage.c Tue Aug 20 10:36:10 2013
@@ -249,10 +249,16 @@
AST_CLI_DEFINE(handle_cli_threadstorage_show_summary, "Summarize outstanding memory allocations")
};
+static void threadstorage_shutdown(void)
+{
+ ast_cli_unregister_multiple(cli, ARRAY_LEN(cli));
+}
+
void threadstorage_init(void)
{
pthread_mutex_init(&threadstoragelock, NULL);
ast_cli_register_multiple(cli, ARRAY_LEN(cli));
+ ast_register_atexit(threadstorage_shutdown);
}
#endif /* !defined(DEBUG_THREADLOCALS) */
More information about the asterisk-commits
mailing list