> take it somewhere other than this closed issue.
> shouldn't active code like that live in the application layer?
> exceed the polling interval for a low priority process on a system under heavy load?
The watchdog thread runs with high priority (see the H2 docs). It's still possible the thread isn't run at all, but highly unlikely. High priority threads are quite reliable. I wrote a MP3 player in Java (mp3transform) which I used a lot, I never heard any gaps. If the thread can be avoided, that would be great of course. I'm just trying to say that in theory, the thread is problematic, but in practice it isn't. While file locking is not a problem in theory, but in practice.
> What happens when the app sleeps?
Good question! Standby / hibernate are not supported. I didn't think about that. Is there a way to detect the wakeup?
> host name and the pid
Yes. It is not so easy to get the PID in Java, I found: http://stackoverflow.com/questions/35842/process-id-in-java "ManagementFactory.getRuntimeMXBean().getName()". What do you do if the lock was generated by another machine? I tried with using a server socket, so you need the IP address, but unfortunately, sometimes the network is not configured correctly (but maybe it's possible to detect that). Maybe the two machines can't access each other over TCP/IP.
> hard links
Yes, but it looks like this doesn't work always.