MCPcopy Create free account
hub / github.com/catboost/catboost / DoExecute

Method DoExecute

util/thread/pool.cpp:403–430  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

401
402 private:
403 void DoExecute() noexcept override {
404 THolder<TThread> This(this);
405
406 if (Impl_->Namer) {
407 Impl_->Namer.SetCurrentThreadName();
408 }
409
410 {
411 TTsr tsr(Impl_->Parent_);
412 IObjectInQueue* obj;
413
414 while ((obj = Impl_->WaitForJob()) != nullptr) {
415 if (Impl_->Catching) {
416 try {
417 try {
418 obj->Process(tsr);
419 } catch (...) {
420 Cdbg << Impl_->Name() << " " << CurrentExceptionMessage() << Endl;
421 }
422 } catch (...) {
423 // ¯\_(ツ)_/¯
424 }
425 } else {
426 obj->Process(tsr);
427 }
428 }
429 }
430 }
431
432 private:
433 TImpl* Impl_;

Callers

nothing calls this directly

Calls 5

CurrentExceptionMessageFunction · 0.85
WaitForJobMethod · 0.80
SetCurrentThreadNameMethod · 0.45
ProcessMethod · 0.45
NameMethod · 0.45

Tested by

no test coverage detected