[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