unregister cli functions and fix monitor thread. Bug #798
authorJeremy McNamara <jj@nufone.net>
Mon, 12 Jan 2004 06:01:46 +0000 (06:01 +0000)
committerJeremy McNamara <jj@nufone.net>
Mon, 12 Jan 2004 06:01:46 +0000 (06:01 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1975 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index 6ce9e9b..b43f406 100755 (executable)
@@ -6545,6 +6545,15 @@ int unload_module()
        /* First, take us out of the channel loop */
        ast_channel_unregister(type);
        ast_unregister_application(app_dtmfmode);
+       ast_cli_unregister(&cli_show_users);
+       ast_cli_unregister(&cli_show_channels);
+       ast_cli_unregister(&cli_show_channel);
+       ast_cli_unregister(&cli_show_peers);
+       ast_cli_unregister(&cli_show_registry);
+       ast_cli_unregister(&cli_debug);
+       ast_cli_unregister(&cli_no_debug);
+       ast_cli_unregister(&cli_inuse_show);
+       ast_rtp_proto_unregister(&sip_rtp);
        if (!ast_mutex_lock(&iflock)) {
                /* Hangup all interfaces if they have an owner */
                p = iflist;
@@ -6560,7 +6569,7 @@ int unload_module()
                return -1;
        }
        if (!ast_mutex_lock(&monlock)) {
-               if (monitor_thread) {
+               if (monitor_thread && (monitor_thread != -2)) {
                        pthread_cancel(monitor_thread);
                        pthread_kill(monitor_thread, SIGURG);
                        pthread_join(monitor_thread, NULL);