summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/pty.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/Lib/pty.py b/Lib/pty.py
index fb7edc0..c9b8f0a 100644
--- a/Lib/pty.py
+++ b/Lib/pty.py
@@ -8,6 +8,17 @@
from select import select
import os
+
+# Absurd: import termios and then delete it. This is to force an attempt
+# to import pty to raise an ImportError on platforms that lack termios.
+# Without this explicit import of termios here, some other module may
+# import tty first, which in turn imports termios and dies with an
+# ImportError then. But since tty *does* exist across platforms, that
+# leaves a damaged module object for tty in sys.modules, and the import
+# of tty here then appears to work despite that the tty imported is junk.
+import termios
+del termios
+
import tty
__all__ = ["openpty","fork","spawn"]