From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id E9C7A1F66E for ; Sat, 8 Aug 2020 04:59:49 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 2/2] dir_idle: require Perl 5.22+ for kqueue Date: Sat, 8 Aug 2020 04:59:49 +0000 Message-Id: <20200808045949.16555-3-e@yhbt.net> In-Reply-To: <20200808045949.16555-1-e@yhbt.net> References: <20200808045949.16555-1-e@yhbt.net> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: IO::KQueue requires us to use fileno(DIRHANDLE) for setting up kqueue watches. This use of fileno() is only supported since Perl 5.22, so BSD users on older Perl will have to fall back to old polling. This affects users of -watch, currently; but will affect other read-only Xapian users soon. --- lib/PublicInbox/DirIdle.pm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/PublicInbox/DirIdle.pm b/lib/PublicInbox/DirIdle.pm index daa2212b..458285e2 100644 --- a/lib/PublicInbox/DirIdle.pm +++ b/lib/PublicInbox/DirIdle.pm @@ -13,7 +13,8 @@ if ($^O eq 'linux' && eval { require Linux::Inotify2; 1 }) { $MAIL_IN = Linux::Inotify2::IN_MOVED_TO() | Linux::Inotify2::IN_CREATE(); $ino_cls = 'Linux::Inotify2'; -} elsif (eval { require PublicInbox::KQNotify }) { +# Perl 5.22+ is needed for fileno(DIRHANDLE) support: +} elsif ($^V ge v5.22 && eval { require PublicInbox::KQNotify }) { $MAIL_IN = PublicInbox::KQNotify::MOVED_TO_OR_CREATE(); $ino_cls = 'PublicInbox::KQNotify'; } else {