From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24252 invoked by alias); 13 Sep 2016 13:20:14 -0000 Mailing-List: contact zsh-users-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Users List List-Post: List-Help: X-Seq: 21888 Received: (qmail 12376 invoked from network); 13 Sep 2016 13:20:14 -0000 X-Qmail-Scanner-Diagnostics: from mailout2.w1.samsung.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1. Clear:RC:0(210.118.77.12):SA:0(-2.2/5.0):. Processed in 0.446105 secs); 13 Sep 2016 13:20:14 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.2 required=5.0 tests=RP_MATCHES_RCVD autolearn=unavailable autolearn_force=no version=3.4.1 X-Envelope-From: p.stephenson@samsung.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: none (ns1.primenet.com.au: domain at samsung.com does not designate permitted sender hosts) X-AuditID: cbfec7f5-f79ce6d000004c54-7d-57d7fd070b6d Date: Tue, 13 Sep 2016 14:20:03 +0100 From: Peter Stephenson To: Zsh Users Subject: Re: Can periodic hook stop rescheduling? Message-id: <20160913142003.480cfd9c@pwslap01u.europe.root.pri> In-reply-to: Organization: Samsung Cambridge Solution Centre X-Mailer: Claws Mail 3.7.9 (GTK+ 2.22.0; i386-redhat-linux-gnu) MIME-version: 1.0 Content-type: text/plain; charset=UTF-8 Content-transfer-encoding: quoted-printable X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrFIsWRmVeSWpSXmKPExsWy7djPc7rsf6+HGzTf47XYcXIlowOjx6qD H5gCGKO4bFJSczLLUov07RK4Mua+sSi4xllx4K9zA+MV9i5GTg4JAROJvie3oWwxiQv31rOB 2EICSxklLh0U7WLkArK7mSTW7PgL1zD/1EoWiMQyRolVty6zQThTmCQ2TPwNlTnDKPH+5TlG COcso8SUk98ZQfpZBFQlbizsAFvCJmAoMXXTbLC4iICixJlf35hAbGGg+OW/u5lBbF4Be4kZ m+4C2RwcnALBEttfsIKE+QX0Ja7+/cQEcZK9xMwrZxghygUlfky+xwJiMwtoSmzdvZ4dwtaW ePLuAivIPRICv9kkZi9eBTZTQkBWYtMBZog5LhKtCzYzQtjCEq+Ob4F6WUbi8uRuFgi7n1Hi SbcvxJwZjBKnz+xgg0hYS/TdvsgIsYxPYtK26VDzeSU62oQgSjwkTmz5DzXTUeLUv7MsExgV ZyE5exaSs2chOXsBI/MqRpHU0uLc9NRiU73ixNzi0rx0veT83E2MwBRw+t/xrzsYlx6zOsQo wMGoxMMb8ON6uBBrYllxZe4hRgkOZiURXp4/QCHelMTKqtSi/Pii0pzU4kOM0hwsSuK8exZc CRcSSE8sSc1OTS1ILYLJMnFwSjUwrm2VWGDu6cizefHR9+7TJ2126z+lYPniQJOIyD+v9fG+ PwQ3/zx4w2DbHKPtO++XzJ0c9lVWrq2HRzBQ8n7FT6OPk/ddMy/tClM5ON/v+TXB1X/OLjqf m3P/11cZe9OtKyZ1Lv4wb+4y1pT9zifFjv+YdrH8zqUvsc6nltZ6x83jn3W3UfnaZ0clluKM REMt5qLiRAB4JE9Y/QIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrKIsWRmVeSWpSXmKPExsVy+t/xa7rX/lwPN5h1jclix8mVjA6MHqsO fmAKYIxys8lITUxJLVJIzUvOT8nMS7dVCg1x07VQUshLzE21VYrQ9Q0JUlIoS8wpBfKMDNCA g3OAe7CSvl2CW8bcNxYF1zgrDvx1bmC8wt7FyMkhIWAiMf/UShYIW0ziwr31bF2MXBxCAksY Jb6ffccC4Uxjkvjd8hMqc45RYtPbuUwQzllGiVVXzjCB9LMIqErcWNjBBmKzCRhKTN00mxHE FhFQlDjz6xtYjTBQ/PLf3cwgNq+AvcSMTXfBbE6BYIl9mx9CDV3GKHFw702wBL+AvsTVv5+Y IA60l5h55QwjRLOgxI/J98AOZxZQl5g0bxEzhK0t8eTdBVYQWwgofuPubvYJjMKzkLTMQtIy C0nLAkbmVYwiqaXFuem5xUZ6xYm5xaV56XrJ+bmbGIFRtO3Yzy07GLveBR9iFOBgVOLhDfhx PVyINbGsuDL3EKMEB7OSCK8nMAaFeFMSK6tSi/Lji0pzUosPMZoCQ2Yis5Rocj4wwvNK4g1N DM0tDY2MLSzMjYyUxHmnfrgSLiSQnliSmp2aWpBaBNPHxMEp1cAYnmr5UGZ5RmgOp0vdjuVB alulpfkL9xnzLZrMsNFyQZ7kqduhi4OXML+O7b/Aq9c549+nQ3MTHmxpVe7ZdvmZ2pHH56bd ++n2bEeC67ZiZv/n7uVOqzjvh++K4Hr2TKZsY4WC201Pxn+r1FN+X5dUCQ0z7hNV+H9/19bw Ff5Sr3Ztmy2wwdNHiaU4I9FQi7moOBEAYq9r9bgCAAA= X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20160913132006eucas1p25f2392d0cd80a36a88ab67c89f47c406 X-Msg-Generator: CA X-Sender-IP: 182.198.249.180 X-Local-Sender: =?UTF-8?B?UGV0ZXIgU3RlcGhlbnNvbhtTQ1NDLURhdGEgUGxhbmUb?= =?UTF-8?B?7IK87ISx7KCE7J6QG1ByaW5jaXBhbCBFbmdpbmVlciwgU29mdHdhcmU=?= X-Global-Sender: =?UTF-8?B?UGV0ZXIgU3RlcGhlbnNvbhtTQ1NDLURhdGEgUGxhbmUbU2Ft?= =?UTF-8?B?c3VuZyBFbGVjdHJvbmljcxtQcmluY2lwYWwgRW5naW5lZXIsIFNvZnR3YXJl?= X-Sender-Code: =?UTF-8?B?QzEwG0VIURtDMTBDRDA1Q0QwNTAwNTg=?= CMS-TYPE: 201P X-HopCount: 7 X-CMS-RootMailID: 20160913085130eucas1p19723ac09c11d596542360173e4a4b308 X-RootMTR: 20160913085130eucas1p19723ac09c11d596542360173e4a4b308 References: On Tue, 13 Sep 2016 10:49:35 +0200 Sebastian Gniazdowski wrote: > I'm using sched to call a function. The problem is, it sometimes > doesn't reschedule. sched +2 is the first line of the scheduled > function, however I observed, that when running a completion and > pressing Ctrl-C to abort something in it (when using > :completion:*:*:*:default' menu yes select search) this Ctrl-C might > somehow apparently reach scheduled function and block reschedule. I've > added a protection via preexec hook =E2=80=93 I check when scheduled func= tion > did last run and reschedule when a delay is detected. The function that's being called is certainly not immune from getting ^C, and that can certainly stop "sched +2" in its tracks just like any other command. The only general fix for this would be blocking SIGINT sufficiently early that ^C doesn't hit this and restoring it later --- but given sched +2 is the first line of the script anyway that doesn't look promising. You might have better results with { ... } always { sched +2 ... } but it's still subject to the same problem if the ^C happens at the wrong point. This may need some lateral thinking. pws