[Mono-bugs] [Bug 75436][Nor] Changed - [MAC] Asynchronous Sockets -
BeginConnect does not connect, TcpClient or Telnet can
bugzilla-daemon at bugzilla.ximian.com
bugzilla-daemon at bugzilla.ximian.com
Wed Oct 26 11:00:08 EDT 2005
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 dick at ximian.com.
http://bugzilla.ximian.com/show_bug.cgi?id=75436
--- shadow/75436 2005-10-26 10:53:47.000000000 -0400
+++ shadow/75436.tmp.22529 2005-10-26 11:00:08.000000000 -0400
@@ -5,13 +5,13 @@
OS Details: OS X 10.3
Status: NEW
Resolution:
Severity: Unknown
Priority: Normal
Component: System
-AssignedTo: dick at ximian.com
+AssignedTo: gonzalo at ximian.com
ReportedBy: mono at magnet-i.com
QAContact: mono-bugs at ximian.com
TargetMilestone: ---
URL:
Summary: [MAC] Asynchronous Sockets - BeginConnect does not connect, TcpClient or Telnet can
@@ -167,6 +167,20 @@
Created an attachment (id=15853)
Proposed fix for non-blocking sockets
------- Additional Comments From dick at ximian.com 2005-10-26 10:53 -------
*** Bug 75558 has been marked as a duplicate of this bug. ***
+
+------- Additional Comments From dick at ximian.com 2005-10-26 11:00 -------
+This is indeed a difference in the way sockets work on Macos. The
+problem stems from Gonzalo's change r42660 that intercepts async
+socket IO in the threadpool and hands off to a single worker thread.
+It is giving a plain socket to poll() before connect has been called
+(because the BeginInvoke method hasn't been reached yet). On Linux, a
+select()/poll() on this socket for writing will succeed and the
+BeginInvoke method will then be called. On Macos, the poll() will
+block indefinitely and therefore the BeginInvoke method (which in this
+case calls connect() ) will never be called.
+
+Reassigning to Gonzalo, so he can rejig his logic in the threadpool
+socket code.
More information about the mono-bugs
mailing list