prevent infinite loop

This commit is contained in:
Armin Schrenk
2023-03-15 12:10:15 +01:00
parent a67477bf3b
commit 385574a618
2 changed files with 9 additions and 0 deletions

View File

@@ -2,6 +2,10 @@ package org.cryptomator.common.mount;
public class MountPointPreparationException extends RuntimeException {
public MountPointPreparationException(String msg) {
super(msg);
}
public MountPointPreparationException(Throwable cause) {
super(cause);
}

View File

@@ -51,8 +51,13 @@ public final class MountWithinParentUtil {
if (SystemUtils.IS_OS_WINDOWS) {
Files.setAttribute(hideaway, WIN_HIDDEN_ATTR, true, LinkOption.NOFOLLOW_LINKS);
}
int attempts = 0;
while (!Files.notExists(mountPoint)) {
if (attempts >= 10) {
throw new MountPointPreparationException("Path " + mountPoint + " could not be cleared");
}
Thread.sleep(1000);
attempts++;
}
} catch (IOException e) {
throw new MountPointPreparationException(e);