You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by gn...@apache.org on 2022/10/16 18:14:59 UTC

[maven-mvnd] branch master updated: Release the read lock in a finally block (#703)

This is an automated email from the ASF dual-hosted git repository.

gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-mvnd.git


The following commit(s) were added to refs/heads/master by this push:
     new e1e5c08  Release the read lock in a finally block (#703)
e1e5c08 is described below

commit e1e5c088af9a7a18444c1faaa00f16c5a3bc6dab
Author: Nicolas Filotto <es...@users.noreply.github.com>
AuthorDate: Sun Oct 16 20:14:54 2022 +0200

    Release the read lock in a finally block (#703)
---
 .../mvndaemon/mvnd/common/logging/TerminalOutput.java   | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/common/src/main/java/org/mvndaemon/mvnd/common/logging/TerminalOutput.java b/common/src/main/java/org/mvndaemon/mvnd/common/logging/TerminalOutput.java
index c57b63c..e5feec2 100644
--- a/common/src/main/java/org/mvndaemon/mvnd/common/logging/TerminalOutput.java
+++ b/common/src/main/java/org/mvndaemon/mvnd/common/logging/TerminalOutput.java
@@ -469,14 +469,17 @@ public class TerminalOutput implements ClientOutput {
         try {
             while (!closing) {
                 if (readInput.readLock().tryLock(10, TimeUnit.MILLISECONDS)) {
-                    int c = terminal.reader().read(10);
-                    if (c == -1) {
-                        break;
-                    }
-                    if (c == KEY_PLUS || c == KEY_MINUS || c == KEY_CTRL_L || c == KEY_CTRL_M || c == KEY_CTRL_B) {
-                        daemonReceive.accept(Message.keyboardInput((char) c));
+                    try {
+                        int c = terminal.reader().read(10);
+                        if (c == -1) {
+                            break;
+                        }
+                        if (c == KEY_PLUS || c == KEY_MINUS || c == KEY_CTRL_L || c == KEY_CTRL_M || c == KEY_CTRL_B) {
+                            daemonReceive.accept(Message.keyboardInput((char) c));
+                        }
+                    } finally {
+                        readInput.readLock().unlock();
                     }
-                    readInput.readLock().unlock();
                 }
             }
         } catch (InterruptedException e) {