aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/coroutine/engine/mutex.h
diff options
context:
space:
mode:
authorAnton Samokhvalov <pg83@yandex.ru>2022-02-10 16:45:17 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:45:17 +0300
commitd3a398281c6fd1d3672036cb2d63f842d2cb28c5 (patch)
treedd4bd3ca0f36b817e96812825ffaf10d645803f2 /library/cpp/coroutine/engine/mutex.h
parent72cb13b4aff9bc9cf22e49251bc8fd143f82538f (diff)
downloadydb-d3a398281c6fd1d3672036cb2d63f842d2cb28c5.tar.gz
Restoring authorship annotation for Anton Samokhvalov <pg83@yandex.ru>. Commit 2 of 2.
Diffstat (limited to 'library/cpp/coroutine/engine/mutex.h')
-rw-r--r--library/cpp/coroutine/engine/mutex.h74
1 files changed, 37 insertions, 37 deletions
diff --git a/library/cpp/coroutine/engine/mutex.h b/library/cpp/coroutine/engine/mutex.h
index 27392f7d85..93e9119503 100644
--- a/library/cpp/coroutine/engine/mutex.h
+++ b/library/cpp/coroutine/engine/mutex.h
@@ -1,49 +1,49 @@
#pragma once
-
+
#include "impl.h"
#include "events.h"
-class TContMutex {
-public:
+class TContMutex {
+public:
TContMutex() noexcept
- : Token_(true)
- {
- }
-
+ : Token_(true)
+ {
+ }
+
~TContMutex() {
Y_ASSERT(Token_);
- }
-
+ }
+
int LockD(TCont* current, TInstant deadline) {
- while (!Token_) {
- const int ret = WaitQueue_.WaitD(current, deadline);
-
- if (ret != EWAKEDUP) {
- return ret;
- }
- }
-
- Token_ = false;
-
- return 0;
- }
-
+ while (!Token_) {
+ const int ret = WaitQueue_.WaitD(current, deadline);
+
+ if (ret != EWAKEDUP) {
+ return ret;
+ }
+ }
+
+ Token_ = false;
+
+ return 0;
+ }
+
int LockT(TCont* current, TDuration timeout) {
- return LockD(current, timeout.ToDeadLine());
- }
-
+ return LockD(current, timeout.ToDeadLine());
+ }
+
int LockI(TCont* current) {
- return LockD(current, TInstant::Max());
- }
-
+ return LockD(current, TInstant::Max());
+ }
+
void UnLock() noexcept {
Y_ASSERT(!Token_);
-
- Token_ = true;
- WaitQueue_.Signal();
- }
-
-private:
- TContWaitQueue WaitQueue_;
- bool Token_;
-};
+
+ Token_ = true;
+ WaitQueue_.Signal();
+ }
+
+private:
+ TContWaitQueue WaitQueue_;
+ bool Token_;
+};