Commit eb807d53 authored by Richard Levitte's avatar Richard Levitte
Browse files

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: default avatarRich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/6776)
parent 88accfe6
Loading
Loading
Loading
Loading
+6 −3
Original line number Original line Diff line number Diff line
@@ -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 #########################################