Why is the multiprocessing module, ie., multiprocessing/process.py, in
_bootstrap() doing:

  os.close(sys.stdin.fileno())

rather than:

  sys.stdin.close()

Technically it is feasible that stdin could have been replaced with
something other than a file object, where the replacement doesn't have
a fileno() method.

In that sort of situation an AttributeError would be raised, which
isn't going to be caught as either OSError or ValueError, which is all
the code watches out for.

Graham
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to