From 8271428d649404a2f6b20208157113712b71113c Mon Sep 17 00:00:00 2001 From: Sebastian Stenzel Date: Thu, 15 Jul 2021 08:36:37 +0200 Subject: [PATCH] cleanup --- src/main/java/org/cryptomator/ipc/IpcCommunicator.java | 9 +++++++++ src/main/java/org/cryptomator/ipc/Server.java | 1 + src/main/java/org/cryptomator/launcher/Cryptomator.java | 9 +-------- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/main/java/org/cryptomator/ipc/IpcCommunicator.java b/src/main/java/org/cryptomator/ipc/IpcCommunicator.java index ca5e52785..0120389c9 100644 --- a/src/main/java/org/cryptomator/ipc/IpcCommunicator.java +++ b/src/main/java/org/cryptomator/ipc/IpcCommunicator.java @@ -7,6 +7,7 @@ import org.slf4j.LoggerFactory; import java.io.Closeable; import java.io.IOException; +import java.io.UncheckedIOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.attribute.BasicFileAttributes; @@ -84,4 +85,12 @@ public interface IpcCommunicator extends Closeable { */ @Override void close() throws IOException; + + default void closeUnchecked() throws UncheckedIOException { + try { + close(); + } catch (IOException e) { + throw new UncheckedIOException(e); + } + } } diff --git a/src/main/java/org/cryptomator/ipc/Server.java b/src/main/java/org/cryptomator/ipc/Server.java index 25ae2949c..e9a82c328 100644 --- a/src/main/java/org/cryptomator/ipc/Server.java +++ b/src/main/java/org/cryptomator/ipc/Server.java @@ -76,6 +76,7 @@ class Server implements IpcCommunicator { serverSocketChannel.close(); } finally { Files.deleteIfExists(socketPath); + LOG.debug("IPC server closed"); } } } diff --git a/src/main/java/org/cryptomator/launcher/Cryptomator.java b/src/main/java/org/cryptomator/launcher/Cryptomator.java index a7f10f9fc..18a748fd8 100644 --- a/src/main/java/org/cryptomator/launcher/Cryptomator.java +++ b/src/main/java/org/cryptomator/launcher/Cryptomator.java @@ -83,14 +83,7 @@ public class Cryptomator { LOG.info("Found running application instance. Shutting down..."); return 2; } else { - // TODO: move this to a better place? - shutdownHook.runOnShutdown(() -> { - try { - communicator.close(); - } catch (IOException e) { - LOG.warn("IPC cleanup failed"); - } - }); + shutdownHook.runOnShutdown(communicator::closeUnchecked); var executor = Executors.newSingleThreadExecutor(new ThreadFactoryBuilder().setNameFormat("IPC-%d").build()); var msgHandler = ipcMessageHandler.get(); msgHandler.handleLaunchArgs(List.of(args));