From 5d434e4b45e7a3daafe24f40645aa1ff0fcc7be4 Mon Sep 17 00:00:00 2001 From: Sajeer Date: Thu, 30 Jul 2026 18:18:59 +0530 Subject: [PATCH] Fixing the race condition --- .../tools/common/plugins/util/DevUtil.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/main/java/io/openliberty/tools/common/plugins/util/DevUtil.java b/src/main/java/io/openliberty/tools/common/plugins/util/DevUtil.java index a9e8b2b6..a948d836 100644 --- a/src/main/java/io/openliberty/tools/common/plugins/util/DevUtil.java +++ b/src/main/java/io/openliberty/tools/common/plugins/util/DevUtil.java @@ -2548,8 +2548,8 @@ public void runHotkeyReaderThread(ThreadPoolExecutor executor) { // it's available inputUnavailable.wait(500); } - printDevModeMessages(inputUnavailable.get(), firstStartup); - firstStartup = false; + // firstStartup is false by the time this is called after initial startup. + printDevModeMessages(inputUnavailable.get(), false); } catch (InterruptedException e) { debug("Interrupted while waiting to determine whether input can be read", e); } catch (PluginExecutionException pe) { @@ -3177,6 +3177,17 @@ public void watchFiles(File outputDirectory, File testOutputDirectory, final Thr } } + if (firstStartup) { + synchronized (inputUnavailable) { + try { + printDevModeMessages(inputUnavailable.get(), true); + } catch (PluginExecutionException pe) { + error(pe.getMessage()); + } + } + firstStartup = false; + } + initWatchLoop(); while (true) {