[Mono-bugs] [Bug 74475][Nor] Changed - BeginWrite returns to the callback before all bytes are written

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Thu, 7 Apr 2005 21:18:15 -0400 (EDT)


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 harningt@gmail.com.

http://bugzilla.ximian.com/show_bug.cgi?id=74475

--- shadow/74475	2005-04-07 20:59:18.000000000 -0400
+++ shadow/74475.tmp.16143	2005-04-07 21:18:15.000000000 -0400
@@ -1,13 +1,13 @@
 Bug#: 74475
 Product: Mono: Class Libraries
 Version: 1.1
 OS: unknown
 OS Details: AMD64 + Gentoo + NPTL
-Status: RESOLVED   
-Resolution: NOTABUG
+Status: REOPENED   
+Resolution: 
 Severity: Unknown
 Priority: Normal
 Component: System
 AssignedTo: mono-bugs@ximian.com                            
 ReportedBy: harningt@gmail.com               
 QAContact: mono-bugs@ximian.com
@@ -58,6 +58,23 @@
 ------- Additional Comments From gonzalo@ximian.com  2005-04-07 20:59 -------
 Can you point me to any URL that proves you're right?
 
 What i can see in the Socket.Send method documentation is that it says
 "It is your application's responsability to keep track of the number
 of bytes sent and to retry the operation until  ...."
+
+------- Additional Comments From harningt@gmail.com  2005-04-07 21:18 -------
+http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemnetsocketssocketclassbeginsendtopic.asp
+
+There in one of the later paragraphs about EndSend:
+
+Your callback method should implement the EndSend method. When your
+application calls BeginSend, the system will use a separate thread to
+execute the specified callback method, and ____will block on EndSend
+until the Socket sends the number of bytes requested or throws an
+exception____.  ...
+
+Quite interestin...
+As a side-note, the BeginReceive doesn't have such a requirement
+[which is good because it could easily cause a forever blocking
+situation].
+