[Mono-bugs] [Bug 73592][Maj] Changed - socket doesn't close in thread
bugzilla-daemon@bugzilla.ximian.com
bugzilla-daemon@bugzilla.ximian.com
Sat, 19 Mar 2005 12:49:32 -0500 (EST)
Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.
Changed by robertj@gmx.net.
http://bugzilla.ximian.com/show_bug.cgi?id=73592
--- shadow/73592 2005-03-11 10:11:55.000000000 -0500
+++ shadow/73592.tmp.10773 2005-03-19 12:49:32.000000000 -0500
@@ -10,13 +10,12 @@
Component: System
AssignedTo: mono-bugs@ximian.com
ReportedBy: borodin@zg.bezopasnost.ru
QAContact: mono-bugs@ximian.com
TargetMilestone: ---
URL:
-Cc:
Summary: socket doesn't close in thread
If a thread which created a socket and is waiting in EndAccept() is
aborted, it doesn't close the socket by Close()
mono (and glibc) compiled without NTPL
@@ -70,6 +69,19 @@
Console.Error.WriteLine("callback");
}
}
------- Additional Comments From dick@ximian.com 2005-03-11 10:11 -------
Does the socket close if you run this on the ms runtime?
+
+------- Additional Comments From robertj@gmx.net 2005-03-19 12:49 -------
+The socket gets closed on MSFT's runtime.
+
+I had a look at System/System.Net.Sockets/Socket.cs and
+the culprit seems to be Close's implementation: it simply
+calls Dispose which in turn doesn't close the socket
+unless "pendingEnds" is zero. But "pendingEnds" is never
+zero if, well, a BeginXYZ call is pending.
+
+I'd recommend to implement Close() w/out the pending check
+(like in Dispose(false))
+