aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/neh/neh.cpp
diff options
context:
space:
mode:
authorudovichenko-r <rvu@ydb.tech>2022-12-23 19:37:11 +0300
committerudovichenko-r <rvu@ydb.tech>2022-12-23 19:37:11 +0300
commit0ac2c6be996fb394146ce7ad0d310fe4b6956138 (patch)
treec43d89ba9354c1a03a3871b00533f988212a7475 /library/cpp/neh/neh.cpp
parentf6fd83a9bc9c2d6bb9502d3dd77adb4f5c31ceae (diff)
downloadydb-0ac2c6be996fb394146ce7ad0d310fe4b6956138.tar.gz
[yql] FuzzyEquals doc
Diffstat (limited to 'library/cpp/neh/neh.cpp')
-rw-r--r--library/cpp/neh/neh.cpp13
1 files changed, 3 insertions, 10 deletions
diff --git a/library/cpp/neh/neh.cpp b/library/cpp/neh/neh.cpp
index 8b3092ad57..dded731bb7 100644
--- a/library/cpp/neh/neh.cpp
+++ b/library/cpp/neh/neh.cpp
@@ -43,20 +43,13 @@ namespace {
};
public:
- ~TMultiRequester() {
- for (auto& req : Reqs_) {
- req->Register(nullptr);
- }
- }
-
void Add(const THandleRef& req) override {
Reqs_.insert(req);
- req->Register(&WaitQueue_);
+ req->Register(WaitQueue_);
}
void Del(const THandleRef& req) override {
Reqs_.erase(req);
- req->Register(nullptr);
}
bool Wait(THandleRef& req, TInstant deadLine) override {
@@ -65,7 +58,7 @@ namespace {
return false;
}
TOnComplete cb(this);
- WaitForMultipleObj(WaitQueue_, deadLine, cb);
+ WaitForMultipleObj(*WaitQueue_, deadLine, cb);
if (!cb.Signalled) {
return false;
}
@@ -89,7 +82,7 @@ namespace {
private:
typedef THashSet<THandleRef, TOps, TOps> TReqs;
typedef TList<THandleRef> TComplete;
- TWaitQueue WaitQueue_;
+ TIntrusivePtr<TWaitQueue> WaitQueue_ = MakeIntrusive<TWaitQueue>();
TReqs Reqs_;
TComplete Complete_;
};