summaryrefslogtreecommitdiff
path: root/scripts/functions
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2008-07-26 09:22:42 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2008-07-26 09:22:42 (GMT)
commita586208ab4cdfcec9e18ef8bf14f81cefe9205f9 (patch)
tree008b814f4fea39deb499823ccd8debc7f7aad771 /scripts/functions
parente64bc999d59fd6445f6ee9b093ab7b5e4847eea3 (diff)
In case of error, the error message would be printing in subshells, thus printing as many error message as there were subshells.
Limit printing this message only in the top-level shell. /trunk/scripts/functions | 2 2 0 0 ++ 1 file changed, 2 insertions(+)
Diffstat (limited to 'scripts/functions')
-rw-r--r--scripts/functions2
1 files changed, 2 insertions, 0 deletions
diff --git a/scripts/functions b/scripts/functions
index e47b286..c07c336 100644
--- a/scripts/functions
+++ b/scripts/functions
@@ -5,6 +5,8 @@
# Prepare the fault handler
CT_OnError() {
ret=$?
+ # Bail out early in subshell, the upper level shell will act accordingly.
+ [ ${BASH_SUBSHELL} -eq 0 ] || exit $ret
CT_DoLog ERROR "Build failed in step '${CT_STEP_MESSAGE[${CT_STEP_COUNT}]}'"
for((step=(CT_STEP_COUNT-1); step>1; step--)); do
CT_DoLog ERROR " called in step '${CT_STEP_MESSAGE[${step}]}'"