Ticket #7049 (closed defect: fixed)
tracd: --daemonize and --auto-reload don't cohabitate happily
| Reported by: | bschmer@… | Owned by: | remy.blank@… |
|---|---|---|---|
| Priority: | normal | Milestone: | 0.11.1 |
| Component: | web frontend/tracd | Version: | |
| Severity: | normal | Keywords: | patch |
| Cc: | remy.blank@… |
Description (last modified by eblot) (diff)
When using --daemonize and --auto-reload at the same time the background daemon process exits neatly without any explanation. Having done some digging around, it seems that the root of the problem is in _restart_with_reloader() at utils/autoreload.py line 55. When os.spawnve is called, it uses the full sys.argv which includes the --daemonize argument. My fix for this is:
eng:util qa$ diff -c autoreload.py autoreload.py.save
*** autoreload.py Tue Mar 25 16:52:18 2008
--- autoreload.py.save Tue Mar 25 16:14:51 2008
***************
*** 55,63 ****
def _restart_with_reloader():
while True:
args = [sys.executable] + sys.argv
- if args.count('--daemonize'):
- # Stop the insanity
- args.remove('--daemonize')
if sys.platform == 'win32':
args = ['"%s"' % arg for arg in args]
new_environ = os.environ.copy()
--- 55,60 ----
eng:util qa$
With the logic for removing these arguments being: - The main program already daemonized, so it doesn't need to be done again - Things started working more like what I expected after making the change


