{
#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);
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;
}
}