summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/OpenSLX/Basics.pm15
1 files changed, 8 insertions, 7 deletions
diff --git a/lib/OpenSLX/Basics.pm b/lib/OpenSLX/Basics.pm
index 4b40269e..679b9acb 100644
--- a/lib/OpenSLX/Basics.pm
+++ b/lib/OpenSLX/Basics.pm
@@ -326,8 +326,10 @@ sub callInSubprocess
my $pid = fork();
if (!$pid) {
# child -> execute the given function and exit:
- eval { $childFunc->(); 1 }
- or die $@;
+ if (! eval { $childFunc->(); 1 }) {
+ $@ = "*** $@" unless substr( $@, 0, 4) eq '*** ';
+ print STDERR "$@\n";
+ }
exit 0;
}
@@ -803,14 +805,13 @@ sub _doThrowOrWarn
my $type = shift;
my $msg = shift;
- # use '°°°' for warnings and '***' for errors
+ # use '! ' for warnings and '***' for errors
+ $msg =~ s[^(! |\*\*\*) ][]gms;
if ($type eq 'carp' || $type eq 'warn' || $type eq 'cluck') {
- $msg =~ s[^(! |\*\*\*) ][]igms;
- $msg =~ s[^][! ]igms;
+ $msg =~ s[^][! ]gms;
}
else {
- $msg =~ s[^(! |\*\*\*) ][]igms;
- $msg =~ s[^][*** ]igms;
+ $msg =~ s[^][*** ]gms;
}
if ($openslxConfig{'debug-confess'}) {