Adam R. B. Jack wrote: >>No. Gump2 does not set the process group id. Gump3 calls setpgrp (man >>setpgrp :-)). Note there isn't a whole lot of software out there that >>make setpgrp calls... > > Yes Leo, it does.
NooOOOhOOooohhoh! :-) WTF. Crap. So now I really have no clue where the problem is. We may have a python bug then. > Recall I implemented a scheme right before you got input > on how to do it (we even discussed if my approach would work, or not. :-) > The code is messy (for historical reasons, and 'cos it was tryign to do > sometihng on M$) but it is here. And, more importantly, it works. Remember it took the python people a POpen, POpen2, POpen3, POpen4, POpen5 to get to subprocess.POpen, which as it turns out isn't all that perfect yet either. I just really really want to know *why* it works (or not). > https://svn.apache.org/repos/asf/gump/trunk/python/gump/util/process/launcher.py > > BTW: A month or so ago I notice Gump2 hanging, when I ran it from command > line, and it seemed to improve if I passed it "< /dev/null". Would you be able to figure out something more specific than "A month ago"? > I kinda figured > something had changed in Ant, or in one of the Ant scripts, that was > blocking on input. That said, I never tracked anything down I think that might be worth it. > & I don't know > if it is still happening. I suspect the important bit here is that gump2 does this: # Allow redirect cmd += ' >>' + str(outputFile) + ' 2>&1' # Run the command systemReturn = os.system(cmd) cuz otherwise most of the end results are the same, eg gump2 also does (childPID, waitcode) = os.waitpid(forkPID,0) and the like. However, subprocess.py uses os.execvp() or os.execvpe() and not os.system. I'll have to take a look at the source code of posix.system() (which powers os.system). There's definitely some file descriptor magic to fix, somewhere. cheers, LSD --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]