From eb52b42c60388650c13721ca375ba4bc67d00927 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20V=C3=B6gele?= Date: Fri, 2 May 2014 11:44:52 +0200 Subject: [PATCH] =?UTF-8?q?Programm=20terminiert=20jetzt=20beim=20schlie?= =?UTF-8?q?=C3=9Fen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Backend.cs | 3 +-- src/Parser.cs | 1 + src/Receiver.cs | 13 ++++++------- src/Sender.cs | 1 + 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/Backend.cs b/src/Backend.cs index 433e674..98a5cd3 100644 --- a/src/Backend.cs +++ b/src/Backend.cs @@ -135,8 +135,7 @@ namespace WorldOfPeacecraft public void Stop() { Parse.Stop (); Send.Stop (); - Rec.Stop (); - System.Windows.Forms.Application.Exit (); + Client.Close (); } } } diff --git a/src/Parser.cs b/src/Parser.cs index 34a8ffd..6ae15a6 100644 --- a/src/Parser.cs +++ b/src/Parser.cs @@ -465,6 +465,7 @@ namespace WorldOfPeacecraft public void Stop () { ParserThread.Abort (); + ParserThread.Join (); } private class Block diff --git a/src/Receiver.cs b/src/Receiver.cs index 82a9851..d5c25e0 100644 --- a/src/Receiver.cs +++ b/src/Receiver.cs @@ -27,8 +27,12 @@ namespace WorldOfPeacecraft private void doReceive () { this.Reader = new StreamReader (Client.GetStream ()); - while (true) { - ReceiverBuffer.AddLine(Receive()); + try { + while (true) { + ReceiverBuffer.AddLine (Receive ()); + } + } catch (ObjectDisposedException e) { + // Nothing to do } } @@ -36,10 +40,5 @@ namespace WorldOfPeacecraft { ReceiverThread.Start (); } - - public void Stop() - { - ReceiverThread.Abort (); - } } } diff --git a/src/Sender.cs b/src/Sender.cs index 9453498..eb16001 100644 --- a/src/Sender.cs +++ b/src/Sender.cs @@ -41,6 +41,7 @@ namespace WorldOfPeacecraft public void Stop() { SenderThread.Abort(); + SenderThread.Join(); } } } \ No newline at end of file