Пример #1
0
        private void close_app(int exit_code)
        {
            if (cloudlist != null)
            {
                if (cloudlist.part_of_cloud)
                {
                    cloudlist.LeaveCloud();
                }
            }
            if (sniffer != null)
            {
                sniffer.close();
                sniffer = null;
            }
            if (udp_listener != null)
            {
                node_list.sendLogOff();
                udp_listener.shutdown();
                udp_listener = null;
            }
            if (upnp != null)
            {
                if (upnp.isUPnPavailable())
                {
                    upnp.upnp_deleteAllPortMappings();
                }
            }

            stop_threads();
#if DEBUG
            xbs_messages.addDebugMessage("exiting program.", xbs_message_sender.GENERAL);
#endif
            output_queued_messages();
#if DEBUG
            Console.ReadLine();
#endif
            exit_code = 0;
            if (windows_console_attached)
            {
                FreeConsole();
            }
            if (System.Windows.Forms.Application.MessageLoop)
            {
                System.Windows.Forms.Application.Exit();
            }
            else
            {
                System.Environment.Exit(exit_code);
            }
        }