From: Guilhem Moulin Date: Sun, 13 Mar 2016 15:23:26 +0000 (+0100) Subject: pullimap: fix struct flock packing X-Git-Url: https://git.g-eek.se/?a=commitdiff_plain;h=11c1344bdadb5a5aca061e1a5483c05c3b2c746e;p=interimap.git pullimap: fix struct flock packing --- diff --git a/pullimap b/pullimap index 317e880..65e222b 100755 --- a/pullimap +++ b/pullimap @@ -83,7 +83,9 @@ do { } sysopen($STATE, $statefile, O_CREAT|O_RDWR|O_DSYNC, 0600) or die "Can't open $statefile: $!"; - fcntl($STATE, F_SETLK, pack('sslll', F_WRLCK, SEEK_SET, 0, 0, $$)) or die "Can't lock $statefile: $!"; + # XXX we need to pack the struct flock manually: not portable! + my $struct_flock = pack('s!s!l!l!i!', F_WRLCK, SEEK_SET, 0, 0, 0); + fcntl($STATE, F_SETLK, $struct_flock) or die "Can't lock $statefile: $!"; my $flags = fcntl($STATE, F_GETFD, 0) or die "fcntl F_GETFD: $!"; fcntl($STATE, F_SETFD, $flags | FD_CLOEXEC) or die "fcntl F_SETFD: $!"; };