Fix Mac OS check for terminal input

Closes #25862
BUG= https://github.com/dart-lang/sdk/issues/25862

TBR=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1760033003 .
diff --git a/runtime/bin/socket_patch.dart b/runtime/bin/socket_patch.dart
index 09904b4..1ec51b7 100644
--- a/runtime/bin/socket_patch.dart
+++ b/runtime/bin/socket_patch.dart
@@ -1243,9 +1243,11 @@
     native.isClosedWrite = true;
     if (fd != null) _getStdioHandle(native, fd);
     var result = new _RawSocket(native);
-    result._isMacOSTerminalInput =
-        Platform.isMacOS &&
-        _StdIOUtils._socketType(result._socket) == _STDIO_HANDLE_TYPE_TERMINAL;
+    if (fd != null) {
+      var socketType = _StdIOUtils._socketType(result._socket);
+      result._isMacOSTerminalInput =
+          Platform.isMacOS && socketType == _STDIO_HANDLE_TYPE_TERMINAL;
+    }
     return result;
   }