diff options
author | udovichenko-r <rvu@ydb.tech> | 2022-12-23 19:37:11 +0300 |
---|---|---|
committer | udovichenko-r <rvu@ydb.tech> | 2022-12-23 19:37:11 +0300 |
commit | 0ac2c6be996fb394146ce7ad0d310fe4b6956138 (patch) | |
tree | c43d89ba9354c1a03a3871b00533f988212a7475 /library/cpp/neh/neh.cpp | |
parent | f6fd83a9bc9c2d6bb9502d3dd77adb4f5c31ceae (diff) | |
download | ydb-0ac2c6be996fb394146ce7ad0d310fe4b6956138.tar.gz |
[yql] FuzzyEquals doc
Diffstat (limited to 'library/cpp/neh/neh.cpp')
-rw-r--r-- | library/cpp/neh/neh.cpp | 13 |
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_; }; |