]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/Admin.pm
treewide: fix %SIG localization, harder
[public-inbox.git] / lib / PublicInbox / Admin.pm
index 2534958b121e691ecee1e963fde736d03383c30f..20964f9cf7ac97dc7428c0a3cbee58d5e0050bb9 100644 (file)
@@ -274,7 +274,7 @@ sub index_inbox {
        if (my $pr = $opt->{-progress}) {
                $pr->("indexing $ibx->{inboxdir} ...\n");
        }
-       local %SIG = %SIG;
+       local @SIG{keys %SIG} = values %SIG;
        setup_signals(\&index_terminate, $ibx);
        my $idx = { current_info => $ibx->{inboxdir} };
        local $SIG{__WARN__} = sub {
@@ -372,4 +372,12 @@ sub index_prepare ($$) {
        $env;
 }
 
+sub do_chdir ($) {
+       my $chdir = $_[0] // return;
+       for my $d (@$chdir) {
+               next if $d eq ''; # same as git(1)
+               chdir $d or die "cd $d: $!";
+       }
+}
+
 1;