From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-2.9 required=3.0 tests=ALL_TRUSTED,AWL,BAYES_00, T_RP_MATCHES_RCVD shortcircuit=no autolearn=unavailable version=3.3.2 X-Original-To: meta@public-inbox.org Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 2D3D91FDF2 for ; Mon, 12 Jan 2015 02:31:07 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 2/4] import_slrnspool: graceful exit for interruptibility Date: Mon, 12 Jan 2015 02:30:55 +0000 Message-Id: <1421029857-1702-3-git-send-email-e@80x24.org> X-Mailer: git-send-email 2.2.0.35.g882592c In-Reply-To: <1421029857-1702-1-git-send-email-e@80x24.org> References: <1421029857-1702-1-git-send-email-e@80x24.org> List-Id: This should alleviate fears of interrupting the process. --- scripts/import_slrnspool | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/scripts/import_slrnspool b/scripts/import_slrnspool index 1f25eff..d95836d 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; -- EW