So, I took a little time to give this a fresh look over...
On Wed, Oct 23, 2019 at 11:01:44AM -0400 I heard the voice of Stefan Monnier, and lo! it spake thus: > > So the test encounters the same problem yet it passes. The root of this is that "test passing" is "our test process exited 0", and we don't watch m4's exit code. Whether we _should_ is another question... > 3: /usr/bin/m4: syscmd subprocess: No child processes > 3: /usr/bin/m4:/tmp/monnier/ctwmrc.XXAiGjku:31: cannot run command > `/bin/rm /tmp/monnier/ctwmrc.XXAiGjku': No child processes > > BTW, an interesting detail: there's no /tmp/monnier/ctwmrc.* file left > over, despite that message! What's interesting here is that, in some testing, I couldn't make anything fail this way, even using GNU m4 (which I assume you're using, and matches those messages). And those messages seem to point, not at "can't run rm" (which it apparently does, and is why the file is gone), but more along the lines of "can't reap rm process"; the 'No child process' seems to be a perror() you can get from a failure in waitpid(), when SIGCHLD is being ignored. So, maybe the m4 process is inheriting our SIG_IGN there, and isn't prepared for that to be the case? You could try commenting out the ignore in signals.c and see if that makes a diff (don't run your desktop with a ctwm like that, of course, but for testing and/or using the test_m4 like above... :) -- Matthew Fuller (MF4839) | [email protected] Systems/Network Administrator | http://www.over-yonder.net/~fullermd/ On the Internet, nobody can hear you scream.
