diff options
author | Russ Allbery <eagle@eyrie.org> | 2016-01-03 21:26:28 -0800 |
---|---|---|
committer | Russ Allbery <eagle@eyrie.org> | 2016-01-03 21:26:28 -0800 |
commit | 61ef051f79682742a30d1501b81cd86ed172fa3c (patch) | |
tree | 88a608cf1e3cbdf1d74a32c432b2d71bb0076239 /perl/lib/Wallet/ACL/External.pm | |
parent | 423792510f017d36580eb6d96342f6d09433a078 (diff) |
Use _exit when failing to fork external commands
Failed kadmin commands were deleting the wallet database in the
test suite due to an END block in the test programs. Use _exit
to avoid this.
Diffstat (limited to 'perl/lib/Wallet/ACL/External.pm')
-rw-r--r-- | perl/lib/Wallet/ACL/External.pm | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/perl/lib/Wallet/ACL/External.pm b/perl/lib/Wallet/ACL/External.pm index 76d0891..77c2499 100644 --- a/perl/lib/Wallet/ACL/External.pm +++ b/perl/lib/Wallet/ACL/External.pm @@ -16,6 +16,7 @@ use strict; use warnings; use vars qw(@ISA $VERSION); +use POSIX qw(_exit); use Wallet::ACL::Base; use Wallet::Config; @@ -59,11 +60,11 @@ sub check { } elsif ($pid == 0) { unless (open (STDERR, '>&STDOUT')) { warn "wallet: cannot dup stdout: $!\n"; - exit 1; + _exit(1); } unless (exec ($Wallet::Config::EXTERNAL_COMMAND, @args)) { warn "wallet: cannot run $Wallet::Config::EXTERNAL_COMMAND: $!\n"; - exit 1; + _exit(1); } } local $_; |