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 Diff line number Diff line
@@ -2722,16 +2722,19 @@ exit(0);
# Death handler, to print a helpful message in case of failure #######
#
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";
    print STDERR <<"_____";
    my @message = ( <<"_____", @_ );

Failure!  $build_file wasn't produced.
Please read INSTALL and associated NOTES files.  You may also have to look over
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 #########################################