提交 eb807d53 编写于 作者: R Richard Levitte

Configure death handler: instead of printing directly, amend the message

This is done by calling die again, just make sure to reset the __DIE__
handler first.
Reviewed-by: NRich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/6776)
上级 88accfe6
...@@ -2722,16 +2722,19 @@ exit(0); ...@@ -2722,16 +2722,19 @@ exit(0);
# Death handler, to print a helpful message in case of failure ####### # Death handler, to print a helpful message in case of failure #######
# #
sub death_handler { sub death_handler {
die @_ if $^S; die @_ if $^S; # To prevent the added message in eval blocks
my $build_file = $target{build_file} // "build file"; my $build_file = $target{build_file} // "build file";
print STDERR <<"_____"; my @message = ( <<"_____", @_ );
Failure! $build_file wasn't produced. Failure! $build_file wasn't produced.
Please read INSTALL and associated NOTES files. You may also have to look over Please read INSTALL and associated NOTES files. You may also have to look over
your available compiler tool chain or change your configuration. your available compiler tool chain or change your configuration.
_____ _____
$orig_death_handler->(@_) if defined $orig_death_handler;
# Dying is terminal, so it's ok to reset the signal handler here.
$SIG{__DIE__} = $orig_death_handler;
die @message;
} }
# Configuration file reading ######################################### # Configuration file reading #########################################
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册