For some reason sys.stdin may be None on Windows, and makes test_multiprocessing fail.
Since we are closing the fileno anyway, the best is to skip this part.
Now test_multiprocessing should pass on Windows.
diff --git a/Lib/multiprocessing/process.py b/Lib/multiprocessing/process.py
index e21d2f0..4a06a45 100644
--- a/Lib/multiprocessing/process.py
+++ b/Lib/multiprocessing/process.py
@@ -219,10 +219,11 @@
try:
self._children = set()
self._counter = itertools.count(1)
- try:
- os.close(sys.stdin.fileno())
- except (OSError, ValueError):
- pass
+ if sys.stdin is not None:
+ try:
+ os.close(sys.stdin.fileno())
+ except (OSError, ValueError):
+ pass
_current_process = self
util._finalizer_registry.clear()
util._run_after_forkers()