From 7e51b2859be5f635590d26d053f24c3c2d0b91df Mon Sep 17 00:00:00 2001 From: Maksim Fomenkov Date: Tue, 29 Nov 2022 14:12:20 +0400 Subject: [PATCH] fix threads loss --- .../io/emeraldpay/dshackle/upstream/AbstractHead.kt | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/main/kotlin/io/emeraldpay/dshackle/upstream/AbstractHead.kt b/src/main/kotlin/io/emeraldpay/dshackle/upstream/AbstractHead.kt index f93152c0..77318863 100644 --- a/src/main/kotlin/io/emeraldpay/dshackle/upstream/AbstractHead.kt +++ b/src/main/kotlin/io/emeraldpay/dshackle/upstream/AbstractHead.kt @@ -53,11 +53,12 @@ abstract class AbstractHead( val delay = System.currentTimeMillis() - lastHeadUpdated if (delay > awaitHeadTimeoutMs) { log.warn("No head updates for $delay ms @ ${this.javaClass} - restart") - try { - lock.tryLock() - start() - } finally { - lock.unlock() + if (lock.tryLock()) { + try { + start() + } finally { + lock.unlock() + } } } }, 300, 30, TimeUnit.SECONDS