Merge pull request #2216 from akoeplinger/fix-array-sort
[mono.git] / mcs / class / corlib / System / Console.cs
index caa92b8446033b1aaa4b8e2a48a1347996afe8b9..206c3429d8d5632e17fc9fca10d52920a5a03b68 100644 (file)
@@ -141,35 +141,32 @@ namespace System
                {
 #if !NET_2_1
                        if (!Environment.IsRunningOnWindows && ConsoleDriver.IsConsole) {
-                               StreamWriter w = new CStreamWriter (OpenStandardOutput (0), outputEncoding);
+                               StreamWriter w = new CStreamWriter (OpenStandardOutput (0), outputEncoding, true);
                                w.AutoFlush = true;
-                               stdout = TextWriter.Synchronized (w, true);
+                               stdout = TextWriter.Synchronized (w);
 
-                               w = new CStreamWriter (OpenStandardOutput (0), outputEncoding);
+                               w = new CStreamWriter (OpenStandardOutput (0), outputEncoding, true);
                                w.AutoFlush = true;
-                               stderr = TextWriter.Synchronized (w, true);
+                               stderr = TextWriter.Synchronized (w);
                                
                                stdin = new CStreamReader (OpenStandardInput (0), inputEncoding);
                        } else {
 #endif
-// FULL_AOT_RUNTIME is used (instead of MONOTOUCH) since we only want this code when running on 
-// iOS (simulator or devices) and *not* when running tools (e.g. btouch #12179) that needs to use 
-// the mscorlib.dll shipped with Xamarin.iOS
-#if MONOTOUCH && FULL_AOT_RUNTIME
+#if MONOTOUCH
                                stdout = new NSLogWriter ();
 #else
                                stdout = new UnexceptionalStreamWriter (OpenStandardOutput (0), outputEncoding);
                                ((StreamWriter)stdout).AutoFlush = true;
 #endif
-                               stdout = TextWriter.Synchronized (stdout, true);
+                               stdout = TextWriter.Synchronized (stdout);
 
-#if MONOTOUCH && FULL_AOT_RUNTIME
+#if MONOTOUCH
                                stderr = new NSLogWriter ();
 #else
                                stderr = new UnexceptionalStreamWriter (OpenStandardError (0), outputEncoding); 
                                ((StreamWriter)stderr).AutoFlush = true;
 #endif
-                               stderr = TextWriter.Synchronized (stderr, true);
+                               stderr = TextWriter.Synchronized (stderr);
 
                                stdin = new UnexceptionalStreamReader (OpenStandardInput (0), inputEncoding);
                                stdin = TextReader.Synchronized (stdin);
@@ -210,9 +207,10 @@ namespace System
                private static Stream Open (IntPtr handle, FileAccess access, int bufferSize)
                {
                        try {
-                               return new FileStream (handle, access, false, bufferSize, false, bufferSize == 0);
+                               // TODO: Should use __ConsoleStream from reference sources
+                               return new FileStream (handle, access, false, bufferSize, false, true);
                        } catch (IOException) {
-                               return new NullStream ();
+                               return Stream.Null;
                        }
                }