summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAymeric Augustin <aymeric.augustin@m4x.org>2014-06-07 22:33:56 +0200
committerAymeric Augustin <aymeric.augustin@m4x.org>2014-06-07 22:35:29 +0200
commit211ff288a03ba4623399e222d15a33075e958f0a (patch)
tree5fa38dd81800a51247b8c34f1b0ff74029ddbfe0
parenta517e9ac857dd4d022cd77f742dd0848fbaec5d1 (diff)
[1.7.x] Fixed #20815 -- Don't enforce unbuffered I/O on Python 3.
No test because this code is already deprecated (part of FastCGI support). Backport of 5836a577 from master
-rw-r--r--django/utils/daemonize.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/django/utils/daemonize.py b/django/utils/daemonize.py
index 763a9db752..76f4d5d082 100644
--- a/django/utils/daemonize.py
+++ b/django/utils/daemonize.py
@@ -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):
@@ -25,8 +29,8 @@ if os.name == 'posix':
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())
@@ -44,11 +48,11 @@ else:
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()