X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=policy-agent%2Fsrc%2Fmain%2Fjava%2Forg%2Foransc%2Fpolicyagent%2Frepository%2FLock.java;h=9f02f089f13df82cc3e23024277febf084c6a314;hb=222a0318c0551eaa4b827a19c7eb5e380a68faf6;hp=70d00cb08e197ff25e43c7ae36f39e8894c02034;hpb=8ca0695e455183b0fa23c3b5cd4b65ca08dd9e24;p=nonrtric.git diff --git a/policy-agent/src/main/java/org/oransc/policyagent/repository/Lock.java b/policy-agent/src/main/java/org/oransc/policyagent/repository/Lock.java index 70d00cb0..9f02f089 100644 --- a/policy-agent/src/main/java/org/oransc/policyagent/repository/Lock.java +++ b/policy-agent/src/main/java/org/oransc/policyagent/repository/Lock.java @@ -59,11 +59,16 @@ public class Lock { @Override public void run() { - while (true) { - for (LockRequest request : consume()) { - request.callback.success(request.lock); + try { + while (true) { + for (LockRequest request : consume()) { + request.callback.success(request.lock); + } + waitForNewEntries(); } - waitForNewEntries(); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + logger.error("Interrupted {}", e.getMessage()); } } @@ -74,14 +79,9 @@ public class Lock { } @SuppressWarnings("java:S2274") - private synchronized void waitForNewEntries() { - try { - if (this.lockRequestQueue.isEmpty()) { - this.wait(); - } - } catch (InterruptedException e) { - logger.warn("waitForUnlock interrupted", e); - Thread.currentThread().interrupt(); + private synchronized void waitForNewEntries() throws InterruptedException { + if (this.lockRequestQueue.isEmpty()) { + this.wait(); } } }