summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBert JW Regeer <xistence@0x58.com>2015-11-12 22:13:55 -0700
committerBert JW Regeer <xistence@0x58.com>2015-11-12 22:13:55 -0700
commita6b316a178d66f3d374d44eb3364adc195db0af5 (patch)
tree0cc68ec311f199de44c07b35d8fd6155e5380f40
parentd1adc290805de2666c6c8c16ab8a85301861d988 (diff)
parent389b450da27a91fb413a5eab5ed4a704537ac105 (diff)
downloadpyramid-a6b316a178d66f3d374d44eb3364adc195db0af5.tar.gz
pyramid-a6b316a178d66f3d374d44eb3364adc195db0af5.tar.bz2
pyramid-a6b316a178d66f3d374d44eb3364adc195db0af5.zip
Merge pull request #2118 from mmerickel/fix/pserve-monitor-daemon
fix usage of --monitor-restart with --daemon Closes #1216
-rw-r--r--CHANGES.txt3
-rw-r--r--pyramid/scripts/pserve.py14
2 files changed, 13 insertions, 4 deletions
diff --git a/CHANGES.txt b/CHANGES.txt
index 8b63cf847..77b8e9298 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -232,6 +232,9 @@ Bug Fixes
shell a little more straightfoward.
See https://github.com/Pylons/pyramid/pull/1883
+- Fixed usage of ``pserve --monitor-restart --daemon`` which would fail in
+ horrible ways. See https://github.com/Pylons/pyramid/pull/2118
+
Deprecations
------------
diff --git a/pyramid/scripts/pserve.py b/pyramid/scripts/pserve.py
index 1bfedf384..63f34f6c2 100644
--- a/pyramid/scripts/pserve.py
+++ b/pyramid/scripts/pserve.py
@@ -302,7 +302,10 @@ class PServeCommand(object):
raise ValueError(msg)
writeable_pid_file.close()
- if getattr(self.options, 'daemon', False):
+ if (
+ getattr(self.options, 'daemon', False) and
+ not os.environ.get(self._monitor_environ_key)
+ ):
self._warn_daemon_deprecated()
try:
self.daemonize()
@@ -312,14 +315,17 @@ class PServeCommand(object):
return 2
if (
+ not os.environ.get(self._monitor_environ_key) and
+ self.options.pid_file
+ ):
+ self.record_pid(self.options.pid_file)
+
+ if (
self.options.monitor_restart and
not os.environ.get(self._monitor_environ_key)
):
return self.restart_with_monitor()
- if self.options.pid_file:
- self.record_pid(self.options.pid_file)
-
if self.options.log_file:
stdout_log = LazyWriter(self.options.log_file, 'a')
sys.stdout = stdout_log