Boy, that seems to make sense, but who knows. I'm curious as to why zopectl backgrounding works at all under any UNIX (it has always worked for me under any Linux version I've tried), if this change is necessary. It seems to be too simple a bug to not be caught earlier on (not that I'd look a gift horse in the mouth.. but.. ;-) - C On Mon, 2004-02-16 at 10:54, Jo Meder wrote:
Am 16.02.2004, 16:31 Uhr schrieb Chris McDonough <chrism@plope.com>:
Unfortunately, the guy who wrote it quit Zope Corp and the folks left there will likely not have it on their radar to fix it until it bites them personally. So I suspect it's up to the folks that are having problems with it to diagnose the issue and supply a patch for 2.7.1.
Too bad. So, here we go (I'd very much appreciate some handholding here ;-)
Can everybody have a look at the following snippet?
This is from zdctl.py function do_start, the code directly preceeding the spawnvp() the results in the traceback:
if self.options.daemon: flag = os.P_WAIT else: flag = os.P_NOWAIT os.spawnvp(flag, args[0], args)
IMHO the settings for flag are exactly the wrong way around. If self.options.daemon contains what the name suggests, we should us os.P_NOWAIT if we are in daemon-mode and os.P_WAIT if where not.
So the patch would be to exchange these to lines to read
if self.options.daemon: flag = os.P_NOWAIT else: flag = os.P_WAIT os.spawnvp(flag, args[0], args)
With me so far? I'm going to give this some test on the complaining Linux-Box but any additional feedback and tests are welcome.
If this works and my logic isn't flawed I'll submit a bugreport and patch to the collector.
Regards
Jo.