From: jsimomaa Date: Mon, 19 Jun 2017 05:43:05 +0000 (+0300) Subject: Reduce the amount of annoying Retry mutex acquire print X-Git-Tag: v1.31.0~285 X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=commitdiff_plain;h=d0a7cc0ee9ab6d9080daf105b04583e523a62e87;hp=ca89ffe386060acd0915580c60b2ab6fde36a5db Reduce the amount of annoying Retry mutex acquire print refs #7175 Change-Id: If9505ec6b79aeee38971f523bb6f1909493abd81 --- diff --git a/bundles/org.simantics.acorn/src/org/simantics/acorn/lru/LRU.java b/bundles/org.simantics.acorn/src/org/simantics/acorn/lru/LRU.java index 690ba426f..48b7d4b10 100644 --- a/bundles/org.simantics.acorn/src/org/simantics/acorn/lru/LRU.java +++ b/bundles/org.simantics.acorn/src/org/simantics/acorn/lru/LRU.java @@ -556,18 +556,28 @@ public class LRU> { boolean gotMutex = impl.tryAcquireMutex(); boolean done = false; - // TODO: fix this properly pleease int count = 0; + long startTime = 0; while (!done) { if (gotMutex || borrowMutex) { runWithMutex(); done = true; } else { - if (count % 100 == 0) + if (count % 10 == 0) { + // Taking too long, sleep for a while. LOGGER.warn("Retry mutex acquire"); + try { + Thread.sleep(10); + } catch (InterruptedException e) { + } + } gotMutex = impl.tryAcquireMutex(); - count++; + long currentTime = System.currentTimeMillis(); + if ((currentTime - startTime) > 10) { + startTime = currentTime; + count++; + } } }