+my @FLOCK;
+if ($^O eq 'linux' || $^O eq 'freebsd') {
+ require Config;
+ my $off_t;
+ my $sz = $Config::Config{lseeksize};
+
+ if ($sz == 8 && eval('length(pack("q", 1)) == 8')) { $off_t = 'q' }
+ elsif ($sz == 4) { $off_t = 'l' }
+ else { warn "sizeof(off_t)=$sz requires File::FcntlLock\n" }
+
+ if (defined($off_t)) {
+ 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') {
+ @FLOCK = ("${off_t}${off_t}lss\@256",
+ qw(l_start l_len l_pid l_type l_whence));
+ }
+ }
+}
+@FLOCK or eval { require File::FcntlLock } or
+ die "File::FcntlLock required for POP3 on $^O: $@\n";