Skip to content

Commit

Permalink
Fixed #20815 -- Don't enforce unbuffered I/O on Python 3.
Browse files Browse the repository at this point in the history
No test because this code is already deprecated (part of FastCGI support).
  • Loading branch information
aaugustin committed Jun 7, 2014
1 parent d7f1f31 commit 5836a57
Showing 1 changed file with 8 additions and 4 deletions.
12 changes: 8 additions & 4 deletions django/utils/daemonize.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
import os
import sys

from . import six

buffering = int(six.PY3) # No unbuffered text I/O on Python 3 (#20815).

if os.name == 'posix':
def become_daemon(our_home_dir='.', out_log='/dev/null',
err_log='/dev/null', umask=0o022):
Expand All @@ -25,8 +29,8 @@ def become_daemon(our_home_dir='.', out_log='/dev/null',
os._exit(1)

si = open('/dev/null', 'r')
so = open(out_log, 'a+', 0)
se = open(err_log, 'a+', 0)
so = open(out_log, 'a+', buffering)
se = open(err_log, 'a+', buffering)
os.dup2(si.fileno(), sys.stdin.fileno())
os.dup2(so.fileno(), sys.stdout.fileno())
os.dup2(se.fileno(), sys.stderr.fileno())
Expand All @@ -44,11 +48,11 @@ def become_daemon(our_home_dir='.', out_log=None, err_log=None, umask=0o022):
sys.stdout.close()
sys.stderr.close()
if err_log:
sys.stderr = open(err_log, 'a', 0)
sys.stderr = open(err_log, 'a', buffering)
else:
sys.stderr = NullDevice()
if out_log:
sys.stdout = open(out_log, 'a', 0)
sys.stdout = open(out_log, 'a', buffering)
else:
sys.stdout = NullDevice()

Expand Down

0 comments on commit 5836a57

Please sign in to comment.