diff options
author | Ruslan Kovalev <ruslan.a.kovalev@gmail.com> | 2022-02-10 16:46:45 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:46:45 +0300 |
commit | 9123176b341b6f2658cff5132482b8237c1416c8 (patch) | |
tree | 49e222ea1c5804306084bb3ae065bb702625360f /library/cpp/coroutine/engine/trampoline.cpp | |
parent | 59e19371de37995fcb36beb16cd6ec030af960bc (diff) | |
download | ydb-9123176b341b6f2658cff5132482b8237c1416c8.tar.gz |
Restoring authorship annotation for Ruslan Kovalev <ruslan.a.kovalev@gmail.com>. Commit 2 of 2.
Diffstat (limited to 'library/cpp/coroutine/engine/trampoline.cpp')
-rw-r--r-- | library/cpp/coroutine/engine/trampoline.cpp | 50 |
1 files changed, 25 insertions, 25 deletions
diff --git a/library/cpp/coroutine/engine/trampoline.cpp b/library/cpp/coroutine/engine/trampoline.cpp index 38e3951a51..10ea69ddc3 100644 --- a/library/cpp/coroutine/engine/trampoline.cpp +++ b/library/cpp/coroutine/engine/trampoline.cpp @@ -1,50 +1,50 @@ -#include "impl.h" -#include "trampoline.h" +#include "impl.h" +#include "trampoline.h" #include "stack/stack_allocator.h" -#include <util/system/info.h> -#include <util/system/protect.h> -#include <util/system/valgrind.h> +#include <util/system/info.h> +#include <util/system/protect.h> +#include <util/system/valgrind.h> #include <util/system/yassert.h> -#include <cstdlib> -#include <util/stream/format.h> +#include <cstdlib> +#include <util/stream/format.h> -namespace NCoro { - +namespace NCoro { + TTrampoline::TTrampoline(NStack::IAllocator& allocator, ui32 stackSize, TFunc f, TCont* cont) noexcept : Stack_(allocator, stackSize, cont->Name()) , Clo_{this, Stack_.Get(), cont->Name()} - , Ctx_(Clo_) + , Ctx_(Clo_) , Func_(std::move(f)) - , Cont_(cont) - {} - - void TTrampoline::DoRun() { + , Cont_(cont) + {} + + void TTrampoline::DoRun() { if (Cont_->Executor()->FailOnError()) { Func_(Cont_); } else { try { Func_(Cont_); } catch (...) {} - } - - Cont_->Terminate(); - } - - TArrayRef<char> TTrampoline::Stack() noexcept { - return Stack_.Get(); - } - + } + + Cont_->Terminate(); + } + + TArrayRef<char> TTrampoline::Stack() noexcept { + return Stack_.Get(); + } + const char* TTrampoline::ContName() const noexcept { return Cont_->Name(); } - + void TTrampoline::DoRunNaked() { DoRun(); abort(); } -} +} |