From e28f696301ce9457699a9d6d466fae17de90b695 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Sun, 13 Feb 2022 16:41:58 -0500 Subject: allow SIGHUP to immediately recheck mail --- bin/mbsyncloop | 3 +++ mutt/local | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/bin/mbsyncloop b/bin/mbsyncloop index fba66fd..a127fea 100755 --- a/bin/mbsyncloop +++ b/bin/mbsyncloop @@ -56,6 +56,7 @@ if (!$pw_pid) { } my $last_all = 0; +$SIG{HUP} = sub { $last_all = 0 }; while (1) { my $now = time; if (($now - $last_all) >= 14 * 60) { @@ -84,10 +85,12 @@ sub idle { my $rin = ''; vec($rin, fileno($goimapnotify_r), 1) = 1; my $ready = select(my $rout = $rin, undef, undef, $max_delay); + return 0 if $ready == -1 && $! == POSIX::EINTR; die "failed to read goimapnotify output: $!" if $ready == -1; if ($ready) { while (1) { my $ready = select(my $rout = $rin, undef, undef, 0.01); + return 0 if $ready == -1 && $! == POSIX::EINTR; die "failed to read goimapnotify output: $!" if $ready == -1; last unless $ready; sysread $goimapnotify_r, my $data, 4096; diff --git a/mutt/local b/mutt/local index 0d6205f..a4fea33 100644 --- a/mutt/local +++ b/mutt/local @@ -10,7 +10,7 @@ mailboxes `\ echo -n "\"=$basename\" ";\ fi\ done` -macro index R "unset wait_keymbsync all && notmuch newset wait_key" "fetch mail with mbsync" +macro index R "unset wait_keysvc -h ~/.services/enabled/mbsyncloopset wait_key" "fetch mail with mbsync" set timeout=3 # vim: ft=neomuttrc -- cgit v1.2.3-54-g00ecf