BF: Avoid closing "/dev/urandom" for Python 3.4.0

Upstream bug: http://bugs.python.org/issue21207

Closes gh-687
pull/714/head
Steven Hiscocks 11 years ago
parent b486014b35
commit cf3a6015f0

@ -523,11 +523,19 @@ class Server:
except (AttributeError, ValueError): except (AttributeError, ValueError):
maxfd = 256 # default maximum maxfd = 256 # default maximum
for fd in range(0, maxfd): # urandom should not be closed in Python 3.4.0. Fixed in 3.4.1
try: # http://bugs.python.org/issue21207
os.close(fd) if sys.version_info[0:3] == (3, 4, 0): # pragma: no cover
except OSError: # ERROR (ignore) urandom_fd = os.open("/dev/urandom", os.O_RDONLY)
pass for fd in range(0, maxfd):
try:
if not os.path.sameopenfile(urandom_fd, fd):
os.close(fd)
except OSError: # ERROR (ignore)
pass
os.close(urandom_fd)
else:
os.closerange(0, maxfd)
# Redirect the standard file descriptors to /dev/null. # Redirect the standard file descriptors to /dev/null.
os.open("/dev/null", os.O_RDONLY) # standard input (0) os.open("/dev/null", os.O_RDONLY) # standard input (0)

Loading…
Cancel
Save