Subject: [boost] [test] Getting an execution monitor to ignore a failed child processes
From: Daniel James (dnljms_at_[hidden])
Date: 2012-12-14 14:48:30
A couple of days ago the inspect report was failing on the release
branch and not the trunk branch (not currently, because I reverted the
change which caused it). It turns out that this happened because
inspect uses the program execution monitor. Inspect runs subversion to
get the version information, but I wasn't running it in a subversion
checkout, so the child process fails, which causes a signal which the
execution monitor detects, throwing an exception. I guess it's thrown
from the top level, so I can't catch it.
I've got a patch ready which fixes this by running subversion from
inside a nested execution monitor so that the exception is thrown at a
more appropriate location. But this is a bit verbose, is there a
better way to handle this? Perhaps temporarily stop the program
execution monitor from handling failed process signals? I don't want
to disable it for the rest of the program.
Secondly, this doesn't happen on trunk. It looks like the program
execution monitor isn't detecting the failure. This might be a bug in
the new version.