static TextReader EnsureInitialized() { // Must be placed outside s_syncObject lock. See Out getter. ConsolePal.EnsureConsoleInitialized(); lock (s_syncObject) // Ensures In and InputEncoding are synchronized. { if (s_in == null) { Volatile.Write(ref s_in, ConsolePal.GetOrCreateReader()); } return(s_in); } }