>With the current implementation, it means the lock holder needs to know how long it wants to hold the lock, which is impractical.

Hm. It means the following: how long another process should wait before it can start to execute protected code, but only in case process which sets it fails (lock wasn't released explicitly).