From: Eric Wong Date: Sun, 11 Jan 2015 23:55:27 +0000 (+0000) Subject: import_slrnspool: graceful exit for interruptibility X-Git-Tag: v1.0.0~1087 X-Git-Url: http://www.git.stargrave.org/?p=public-inbox.git;a=commitdiff_plain;h=5a5b285567528d52860cfd971ff808c75158155e import_slrnspool: graceful exit for interruptibility This should alleviate fears of interrupting the process. --- diff --git a/scripts/import_slrnspool b/scripts/import_slrnspool index 1f25eff2..d95836d6 100755 --- a/scripts/import_slrnspool +++ b/scripts/import_slrnspool @@ -14,6 +14,10 @@ use PublicInbox::Config; use Email::Filter; use Email::LocalDelivery; sub usage { "Usage:\n".join('',grep(/\t/, `head -n 10 $0`)) } +my $exit = 0; +my $sighandler = sub { $exit = 1 }; +$SIG{INT} = $sighandler; +$SIG{TERM} = $sighandler; my $spool = shift @ARGV or die usage(); my $recipient = $ENV{ORIGINAL_RECIPIENT}; defined $recipient or die usage(); @@ -45,7 +49,7 @@ my $ok; my $max_gap = 10000; my $max = $n + $max_gap; -for (; $n < $max; $n++) { +for (; $exit == 0 && $n < $max; $n++) { my $fn = "$spool/$n"; print STDERR $fn, "\n"; open(my $fh, '<', $fn) or next;