]> Sergey Matveev's repositories - public-inbox.git/commitdiff
pop3d: enable native fcntl locks on all *BSDs
authorEric Wong <e@80x24.org>
Thu, 11 Aug 2022 20:00:21 +0000 (20:00 +0000)
committerEric Wong <e@80x24.org>
Thu, 11 Aug 2022 21:57:51 +0000 (21:57 +0000)
...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

index 7432a9640c89a20a0e818a9c7262d7ca7bda80f9..3fc85efc904f896d42ce341fcca7b729804191a6 100644 (file)
@@ -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 =~ /bsd/) {
                        @FLOCK = ("${off_t}${off_t}lss\@256",
                                qw(l_start l_len l_pid l_type l_whence));
                }