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-ASN: X-Spam-Status: No, score=-4.2 required=3.0 tests=ALL_TRUSTED,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, T_SCC_BODY_TEXT_LINE 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 CC67D1F601 for ; Thu, 11 Aug 2022 20:00:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=80x24.org; s=selector1; t=1660248021; bh=Er3+/tjhJQ98IGlc8xLQrCiVuNyUtPyFr7oLgssL0kU=; h=From:To:Subject:Date:In-Reply-To:References:From; b=wpN8VJY22SMn4Dvt2+eXvc2okiWLbrSrOQxZSgm7/UHZRoXQxDu0KwJEnuISIqQtO t+nthx3nepRsc5DrnOJ3dgjetiPfex3OCFpIRqJsqb52FyDkaHk6qx2fEqxYSmNctr XmJOsTZEWhbkpjI2dLbwi0I3lvPQtMeUQ8v1+aiU= From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 2/2] pop3d: enable native fcntl locks on all *BSDs Date: Thu, 11 Aug 2022 20:00:21 +0000 Message-Id: <20220811200021.12662-3-e@80x24.org> In-Reply-To: <20220811200021.12662-1-e@80x24.org> References: <20220811200021.12662-1-e@80x24.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: ...as we've already done for the simpler case of mbox locking in lei. I've just confirmed NetBSD and OpenBSD share the same "struct flock" with FreeBSD, and assume DragonflyBSD is the same. sizeof(pid_t) == 4 in all places I've checked, and it's unlikely we'll need 64-bit pid_t any time soon... --- lib/PublicInbox/POP3D.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/PublicInbox/POP3D.pm b/lib/PublicInbox/POP3D.pm index 7432a964..8aa16907 100644 --- a/lib/PublicInbox/POP3D.pm +++ b/lib/PublicInbox/POP3D.pm @@ -14,7 +14,7 @@ use PublicInbox::Syscall; use File::Temp 0.19 (); # 0.19 for ->newdir use Fcntl qw(F_SETLK F_UNLCK F_WRLCK SEEK_SET); my @FLOCK; -if ($^O eq 'linux' || $^O eq 'freebsd') { +if ($^O eq 'linux' || $^O =~ /bsd/) { require Config; my $off_t; my $sz = $Config::Config{lseeksize}; @@ -27,7 +27,7 @@ if ($^O eq 'linux' || $^O eq 'freebsd') { if ($^O eq 'linux') { @FLOCK = ("ss\@8$off_t$off_t\@32", qw(l_type l_whence l_start l_len)); - } elsif ($^O eq 'freebsd') { + } elsif ($^O eq /bsd/) { @FLOCK = ("${off_t}${off_t}lss\@256", qw(l_start l_len l_pid l_type l_whence)); }