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:33:56 +0200
commit5836a5771f2aefca83349b111f4191d6485af1d5 (patch)
tree75c554a98c7caecc2c0d6baf0c6c849025e87786
parentd7f1f316bcb21853597515a25e6e43639b9ed021 (diff)
Fixed #20815 -- Don't enforce unbuffered I/O on Python 3.
No test because this code is already deprecated (part of FastCGI support).
-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()