File locking supported on all platforms?

Jonas Konrad me at yawk.at
Sat Jul 11 10:10:05 UTC 2020


I think it should just fail silently / without error, that's what fcntl 
does at least. I'm not sure if there's a good way to determine whether 
locking will actually work.

- Jonas

On 7/11/20 11:47 AM, Stefan Reich wrote:
> Hi Jonas,
> 
> what would happen if I try to lock a file on these platforms? Can I 
> reliably detect this case? That would already help a lot.
> 
> The use case is ensuring a database's consistency which I now do over a 
> socket protocol, but file locks would be faster and more reliable.
> 
> Stefan
> 
> On Sat, 11 Jul 2020 at 11:45, Jonas Konrad <me at yawk.at 
> <mailto:me at yawk.at>> wrote:
> 
>     Hey,
> 
>     Some file systems on Linux, eg old NFS, do not support locking at all.
> 
>     - Jonas
> 
>     On 7/11/20 11:36 AM, Stefan Reich wrote:
>      > Hi,
>      >
>      > a quick question regarding file locks in Java. I seem to remember
>      > reading somewhere that this feature isn't guaranteed to work on all
>      > platforms. However, I can now find no mention of that e.g. here
>      >
>     <https://docs.oracle.com/javase/7/docs/api/java/nio/channels/FileLock.html>.
>      >
>      > The page does list that numerous special assumptions may fail, for
>      > example that programs which /don't/ lock a file are prevented from
>      > changing it when it is locked by another program.
>      >
>      > However, I only care about the basic feature, namely that one
>     local file
>      > cannot be locked by two Java programs at once and will cause one
>     of them
>      > to throw an exception.
>      >
>      > Is this guaranteed to work everywhere?
>      >
>      > Many greetings
>      > Stefan
>      >
>      > --
>      > Stefan Reich
>      > BotCompany.de // Java-based operating systems
> 
> 
> 
> -- 
> Stefan Reich
> BotCompany.de // Java-based operating systems


More information about the nio-dev mailing list