aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkruall <kruall@ydb.tech>2023-08-09 10:52:38 +0300
committerkruall <kruall@ydb.tech>2023-08-09 11:46:37 +0300
commitf317e875044612f5945fb0251fb711d1124508cc (patch)
tree500d4cfd0afc6185067b85e720cb7bdcd5f37cad
parent67bdfaa8752032eac7ded95dc036061f8ddf2f4c (diff)
downloadydb-f317e875044612f5945fb0251fb711d1124508cc.tar.gz
Check stop flag before getting activation, KIKIMr-18950
-rw-r--r--library/cpp/actors/core/executor_pool_basic.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/library/cpp/actors/core/executor_pool_basic.cpp b/library/cpp/actors/core/executor_pool_basic.cpp
index 6bf21252f5..d7d0dcfead 100644
--- a/library/cpp/actors/core/executor_pool_basic.cpp
+++ b/library/cpp/actors/core/executor_pool_basic.cpp
@@ -247,7 +247,7 @@ namespace NActors {
TAtomic x = AtomicGet(Semaphore);
TSemaphore semaphore = TSemaphore::GetSemaphore(x);
- do {
+ while (!RelaxedLoad(&StopFlag)) {
if (!semaphore.OldSemaphore || semaphore.CurrentSleepThreadCount < 0) {
if (workerId < 0 || !wctx.IsNeededToWaitNextActivation) {
timers.HPNow = GetCycleCountFast();
@@ -286,7 +286,7 @@ namespace NActors {
SpinLockPause();
x = AtomicGet(Semaphore);
semaphore = TSemaphore::GetSemaphore(x);
- } while (!RelaxedLoad(&StopFlag));
+ }
return 0;
}