From 1110808a9d39d4b808aef724c861a2e1a38d2a69 Mon Sep 17 00:00:00 2001
From: Devtools Arcadia <arcadia-devtools@yandex-team.ru>
Date: Mon, 7 Feb 2022 18:08:42 +0300
Subject: intermediate changes ref:cde9a383711a11544ce7e107a78147fb96cc4029

---
 library/cpp/messagebus/local_tasks.h | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)
 create mode 100644 library/cpp/messagebus/local_tasks.h

(limited to 'library/cpp/messagebus/local_tasks.h')

diff --git a/library/cpp/messagebus/local_tasks.h b/library/cpp/messagebus/local_tasks.h
new file mode 100644
index 0000000000..d8e801a457
--- /dev/null
+++ b/library/cpp/messagebus/local_tasks.h
@@ -0,0 +1,23 @@
+#pragma once
+
+#include <util/system/atomic.h>
+
+class TLocalTasks {
+private:
+    TAtomic GotTasks;
+
+public:
+    TLocalTasks()
+        : GotTasks(0)
+    {
+    }
+
+    void AddTask() {
+        AtomicSet(GotTasks, 1);
+    }
+
+    bool FetchTask() {
+        bool gotTasks = AtomicCas(&GotTasks, 0, 1);
+        return gotTasks;
+    }
+};
-- 
cgit v1.2.3