This wrong book-keeping caused IOExceptions to be thrown because LockFile.unlock() erroneously tried to delete the non-existing lock file. These IOExeptions were hidden since they were silently caught. Change-Id: If42b6192d92c5a2d8f2bf904b16567ef08c32e89 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>tags/v3.0.0.201305080800-m7
@@ -437,11 +437,16 @@ public class LockFile { | |||
} | |||
saveStatInformation(); | |||
if (lck.renameTo(ref)) | |||
if (lck.renameTo(ref)) { | |||
haveLck = false; | |||
return true; | |||
if (!ref.exists() || deleteRef()) | |||
if (renameLock()) | |||
} | |||
if (!ref.exists() || deleteRef()) { | |||
if (renameLock()) { | |||
haveLck = false; | |||
return true; | |||
} | |||
} | |||
unlock(); | |||
return false; | |||
} |