From fd9be104559f333e7b42a7ca0b8166a8aef758bb Mon Sep 17 00:00:00 2001 From: teastep Date: Thu, 29 Mar 2007 20:24:24 +0000 Subject: [PATCH] Final (FLW) fix for exit status git-svn-id: https://shorewall.svn.sourceforge.net/svnroot/shorewall/trunk@5749 fbd18981-670d-0410-9b5c-8dc0c1a9a2bb --- New/Shorewall/Common.pm | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/New/Shorewall/Common.pm b/New/Shorewall/Common.pm index 13568b101..40da1f747 100644 --- a/New/Shorewall/Common.pm +++ b/New/Shorewall/Common.pm @@ -80,6 +80,8 @@ my $indent = ''; my ( $dir, $file ); # Object's Directory and File my $tempfile; # Temporary File Name +my $exitstatus = 0; + # # Fatal Error # @@ -87,12 +89,7 @@ sub fatal_error { print STDERR " ERROR: @_\n"; - if ( $object ) { - close $object; - unlink $tempfile; - } - - system "rm -rf $ENV{TMP_DIR}" if $ENV{TMP_DIR}; + $exitstatus = 1; exit 1; } @@ -340,4 +337,15 @@ sub finalize_aux_config() { progress_message3 "Shorewall configuration compiled to $file"; } +END { + if ( $object ) { + close $object; + unlink $tempfile; + } + + system "rm -rf $ENV{TMP_DIR}" if $ENV{TMP_DIR}; + + $? = $exitstatus; +} + 1;