diff options
author | Gert Driesen <drieseng@users.sourceforge.net> | 2009-06-20 18:17:09 +0400 |
---|---|---|
committer | Gert Driesen <drieseng@users.sourceforge.net> | 2009-06-20 18:17:09 +0400 |
commit | e9891de02aa044d88a21484443fc2e808b99e4a7 (patch) | |
tree | 1fd243ea2277ff119f6335027cb7ece44a28a2b0 /mcs/class/System/Test | |
parent | 24702fba223909609582ffdd1652e554a9931d4f (diff) |
* SocketResponder.cs: Made a little more robust.
svn path=/trunk/mcs/; revision=136546
Diffstat (limited to 'mcs/class/System/Test')
-rw-r--r-- | mcs/class/System/Test/System.Net/ChangeLog | 4 | ||||
-rw-r--r-- | mcs/class/System/Test/System.Net/SocketResponder.cs | 10 |
2 files changed, 11 insertions, 3 deletions
diff --git a/mcs/class/System/Test/System.Net/ChangeLog b/mcs/class/System/Test/System.Net/ChangeLog index d5348f75f70..a857c66ed51 100644 --- a/mcs/class/System/Test/System.Net/ChangeLog +++ b/mcs/class/System/Test/System.Net/ChangeLog @@ -1,5 +1,9 @@ 2009-06-20 Gert Driesen <drieseng@users.sourceforge.net> + * SocketResponder.cs: Made a little more robust. + +2009-06-20 Gert Driesen <drieseng@users.sourceforge.net> + * HttpListener2Test.cs: Added test for bug #513849. * HttpWebRequestTest.cs: Enabled test for bug #508027. Added test for bug #513087. diff --git a/mcs/class/System/Test/System.Net/SocketResponder.cs b/mcs/class/System/Test/System.Net/SocketResponder.cs index dd932ec4df0..6c4d8fb464f 100644 --- a/mcs/class/System/Test/System.Net/SocketResponder.cs +++ b/mcs/class/System/Test/System.Net/SocketResponder.cs @@ -97,6 +97,7 @@ namespace MonoTests.System.Net if (tcpListener != null) { tcpListener.Stop (); tcpListener = null; + Thread.Sleep (50); } } } @@ -104,20 +105,23 @@ namespace MonoTests.System.Net private void Listen () { while (!_stopped) { + Socket socket = null; try { - Socket socket = tcpListener.AcceptSocket (); + socket = tcpListener.AcceptSocket (); socket.Send (_requestHandler (socket)); try { socket.Shutdown (SocketShutdown.Receive); socket.Shutdown (SocketShutdown.Send); } catch { } - Thread.Sleep (500); - socket.Close (); } catch (SocketException ex) { // ignore interruption of blocking call if (ex.ErrorCode != SOCKET_CLOSED) throw; + } finally { + Thread.Sleep (500); + if (socket != null) + socket.Close (); } } } |