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 [EMAIL PROTECTED] http://bugzilla.ximian.com/show_bug.cgi?id=75526 --- shadow/75526 2005-07-13 12:58:14.000000000 -0400 +++ shadow/75526.tmp.26143 2005-07-31 17:55:53.000000000 -0400 @@ -3,21 +3,21 @@ Version: 1.1 OS: All OS Details: Status: NEW Resolution: Severity: Unknown -Priority: Wishlist +Priority: Normal Component: CORLIB AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] QAContact: [EMAIL PROTECTED] TargetMilestone: --- URL: Cc: -Summary: StreamReader.Read(char[], int, int) +Summary: StreamReader blocks on reading too much while debugging my library under windows i stumbled of following. I create a new StreamReader from a NetworkStream for parsing Xml. StreamReader sr = new StreamReader(myTcpClient.GetStream()); @@ -37,6 +37,50 @@ in the Stream it blocks on MONO and MS .NET which is OK. Alex ------- Additional Comments From [EMAIL PROTECTED] 2005-07-13 12:58 ------- Please post a complete example. + +------- Additional Comments From [EMAIL PROTECTED] 2005-07-31 17:55 ------- +Actually, this is really easy to reproduce without even touching +network stream: + +using System.IO; +using System; + +class X : MemoryStream { + public override int Read (byte [] buffer, int offset, int count) + { + Console.WriteLine ("Read"); + buffer [offset + 0] = (byte) 'a'; + buffer [offset + 1] = (byte) 'b'; + return 2; + } + + static void Main () + { + TextReader tr = new StreamReader (new X ()); + Console.WriteLine (tr.Read (new char [10], 0, 10)); + } +} + +Here, we have a custom stream impl that always reads 2 bytes. On the +current impl, we get: + [EMAIL PROTECTED] ~]$ mono zzz.exe +Read +Read +Read +Read +Read +10 + +Thus, it trys to read until enough data. + +However, microsoft's impl gives + +Read +2 + +After the first read it gives up. If I changed my stream impl to block +after the first read, the problem the reporter experienced would happen _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
