Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGert Driesen <drieseng@users.sourceforge.net>2009-06-20 18:17:09 +0400
committerGert Driesen <drieseng@users.sourceforge.net>2009-06-20 18:17:09 +0400
commite9891de02aa044d88a21484443fc2e808b99e4a7 (patch)
tree1fd243ea2277ff119f6335027cb7ece44a28a2b0 /mcs/class/System/Test
parent24702fba223909609582ffdd1652e554a9931d4f (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/ChangeLog4
-rw-r--r--mcs/class/System/Test/System.Net/SocketResponder.cs10
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 ();
}
}
}