From 900ce2f91c38f0184012ddc447dfaa31a04e2693 Mon Sep 17 00:00:00 2001 From: GideonLeGrange Date: Fri, 12 Jul 2013 10:28:55 +0200 Subject: [PATCH] Fixed possible race condition in short-lived synchrynous commands --- src/main/java/me/legrange/mikrotik/ApiConnection.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/me/legrange/mikrotik/ApiConnection.java b/src/main/java/me/legrange/mikrotik/ApiConnection.java index 9d0042b..df616b1 100644 --- a/src/main/java/me/legrange/mikrotik/ApiConnection.java +++ b/src/main/java/me/legrange/mikrotik/ApiConnection.java @@ -429,8 +429,10 @@ public class ApiConnection { private List getResults() throws ApiCommandException, ApiConnectionException { try { - synchronized (this) { - wait(); + synchronized (this) { // don't wait if we already have a result. + if ((err == null) && results.isEmpty()) { + wait(); + } } } catch (InterruptedException ex) { throw new ApiConnectionException(ex.getMessage(), ex);