550 {
551 (void) src;
552 auto &tls = detail::tls_errored_results();
553 if(!tls.reentering_self)
554 {
555 handle *currenth = tls.current_handle;
556 native_handle_type nativeh;
557 if(currenth != nullptr)
558 {
559 nativeh = currenth->native_handle();
560
561 tls.reentering_self = true;
562 auto currentpath_ = currenth->current_path();
563 tls.reentering_self = false;
564 if(currentpath_)
565 {
566 auto currentpath = currentpath_.value().string();
567 dest._thread_id = tls.this_thread_id;
568#ifdef _MSC_VER
569#pragma warning(push)
570#pragma warning(disable : 4996)
571#endif
572#if (__GNUC__ >= 8) && !defined(__clang__)
573#pragma GCC diagnostic push
574#pragma GCC diagnostic ignored "-Wstringop-overflow"
575#endif
576
577
578
579
580 strncpy(tls.next(dest._tls_path_id1), QUICKCPPLIB_NAMESPACE::ringbuffer_log::last190(currentpath), 190);
581#if (__GNUC__ >= 8) && !defined(__clang__)
582#pragma GCC diagnostic pop
583#endif
584#ifdef _MSC_VER
585#pragma warning(pop)
586#endif
587 dest._tls_path_id2 = dest._tls_path_id1 - 17;
588 }
589 }
590#if LLFIO_LOGGING_LEVEL >= 2
591 if(log().log_level() >= log_level::error)
592 {
593 dest._log_id = log().emplace_back(log_level::error, src.message().c_str(), static_cast<uint32_t>(nativeh._init), tls.this_thread_id);
594 }
595#endif
596 }
597 }