From ac8db4c04ef2b090646eab46b9fa6f98680b2b41 Mon Sep 17 00:00:00 2001 From: Taylor Smock Date: Tue, 7 Jan 2025 10:58:54 -0700 Subject: [PATCH] Ensure that all error logging is async Signed-off-by: Taylor Smock --- .../routing2/lib/valhalla/ValhallaServer.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/openstreetmap/josm/plugins/routing2/lib/valhalla/ValhallaServer.java b/src/main/java/org/openstreetmap/josm/plugins/routing2/lib/valhalla/ValhallaServer.java index 8578981..3de1992 100644 --- a/src/main/java/org/openstreetmap/josm/plugins/routing2/lib/valhalla/ValhallaServer.java +++ b/src/main/java/org/openstreetmap/josm/plugins/routing2/lib/valhalla/ValhallaServer.java @@ -220,11 +220,7 @@ public Trip generateRoute(OsmDataLayer layer, JsonObject tripConfig, ILatLon... } catch (IOException e) { throw new UncheckedIOException(e); } - try (BufferedReader errors = p.errorReader()) { - errors.lines().forEach(Logging::error); - } catch (IOException e) { - throw new UncheckedIOException(e); - } + logErrors(p); final JsonObject data; try (BufferedReader br = new BufferedReader(p.inputReader())) { br.mark(40); @@ -470,6 +466,11 @@ private static InputStream runCommand(String... args) throws IOException { throw new JosmRuntimeException(interruptedException); } } + logErrors(p); + return p.getInputStream(); + } + + private static void logErrors(Process p) { // Do not block here. ForkJoinPool.commonPool().submit(() -> { try (BufferedReader errors = p.errorReader()) { @@ -478,6 +479,5 @@ private static InputStream runCommand(String... args) throws IOException { throw new UncheckedIOException(e); } }); - return p.getInputStream(); } }