Re: file-locking and postmaster.pid - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: file-locking and postmaster.pid
Date
Msg-id 4474C254.2090801@dunslane.net
Whole thread Raw
In response to Re: file-locking and postmaster.pid  (Alvaro Herrera <alvherre@commandprompt.com>)
Responses Re: file-locking and postmaster.pid
List pgsql-hackers
Alvaro Herrera wrote:
> korry wrote:
>
>   
>> The only platform (although certainly not a minor issue) that I can
>> think of that would have a portability issue would be Win32. You can't
>> even read a locked byte in Win32.  I usually solve that problem by
>> locking a byte past the end of the file (which is portable).
>>     
>
> Certainly on all platforms there must be *some* locking primitive.  We
> just need to figure out the appropiate parameters to fcntl() or flock()
> or lockf() on each.
>
> The Win32 API for locking seems mighty strange to me.
>
>   

We use file locking on Win32 (and on all other platforms)  in the 
buildfarm ... it's done from perl so maybe perl does some magic under 
the hood. The call looks just the same, and works fine on W32, I 
believe. It is roughly:

use Fcntl qw(:flock);
open($lockfile,">builder.LCK") || die "opening lockfile";
exit(0) unless flock($lockfile,LOCK_EX|LOCK_NB);


cheers

andrew


pgsql-hackers by date:

Previous
From: korry
Date:
Subject: Re: file-locking and postmaster.pid
Next
From: Alvaro Herrera
Date:
Subject: Re: file-locking and postmaster.pid