From f39c0dd274b5ea9eff183b13b5f11a35442858c3 Mon Sep 17 00:00:00 2001 From: Daming Date: Thu, 1 Oct 2020 22:49:39 +0800 Subject: [PATCH] fix to release incorrectly lock when it is failed to obtain lock (#5610) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 吴晟 Wu Sheng --- .../apm/commons/datacarrier/consumer/ConsumeDriver.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apm-commons/apm-datacarrier/src/main/java/org/apache/skywalking/apm/commons/datacarrier/consumer/ConsumeDriver.java b/apm-commons/apm-datacarrier/src/main/java/org/apache/skywalking/apm/commons/datacarrier/consumer/ConsumeDriver.java index e82277ef3..1ceb765d0 100644 --- a/apm-commons/apm-datacarrier/src/main/java/org/apache/skywalking/apm/commons/datacarrier/consumer/ConsumeDriver.java +++ b/apm-commons/apm-datacarrier/src/main/java/org/apache/skywalking/apm/commons/datacarrier/consumer/ConsumeDriver.java @@ -78,8 +78,8 @@ public class ConsumeDriver implements IDriver { if (running) { return; } + lock.lock(); try { - lock.lock(); this.allocateBuffer2Thread(); for (ConsumerThread consumerThread : consumerThreads) { consumerThread.start(); @@ -116,8 +116,8 @@ public class ConsumeDriver implements IDriver { @Override public void close(Channels channels) { + lock.lock(); try { - lock.lock(); this.running = false; for (ConsumerThread consumerThread : consumerThreads) { consumerThread.shutdown();