From c59211166d8166ea51d347b5465b8176e9d83149 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Sun, 9 Oct 2022 21:31:01 -0700 Subject: [PATCH] [event_engine] Move chttp2 executor usage to event engine (#31229) * [event_engine] Move chttp2 executor usage to event engine * iwyu --- src/core/lib/transport/transport.cc | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/core/lib/transport/transport.cc b/src/core/lib/transport/transport.cc index 84e49708b1d..eebbd6529c0 100644 --- a/src/core/lib/transport/transport.cc +++ b/src/core/lib/transport/transport.cc @@ -22,22 +22,23 @@ #include +#include #include #include "absl/status/status.h" +#include + +#include "src/core/lib/event_engine/default_event_engine.h" #include "src/core/lib/gpr/alloc.h" #include "src/core/lib/iomgr/exec_ctx.h" -#include "src/core/lib/iomgr/executor.h" -#include "src/core/lib/iomgr/iomgr.h" #include "src/core/lib/transport/transport_impl.h" grpc_core::DebugOnlyTraceFlag grpc_trace_stream_refcount(false, "stream_refcount"); void grpc_stream_destroy(grpc_stream_refcount* refcount) { - if (!grpc_iomgr_is_any_background_poller_thread() && - (grpc_core::ExecCtx::Get()->flags() & + if ((grpc_core::ExecCtx::Get()->flags() & GRPC_EXEC_CTX_FLAG_THREAD_RESOURCE_LOOP)) { /* Ick. The thread we're running on MAY be owned (indirectly) by a call-stack. @@ -46,7 +47,12 @@ void grpc_stream_destroy(grpc_stream_refcount* refcount) { cope with. Throw this over to the executor (on a core-owned thread) and process it there. */ - grpc_core::Executor::Run(&refcount->destroy, absl::OkStatus()); + grpc_event_engine::experimental::GetDefaultEventEngine()->Run([refcount] { + grpc_core::ApplicationCallbackExecCtx callback_exec_ctx; + grpc_core::ExecCtx exec_ctx; + grpc_core::ExecCtx::Run(DEBUG_LOCATION, &refcount->destroy, + absl::OkStatus()); + }); } else { grpc_core::ExecCtx::Run(DEBUG_LOCATION, &refcount->destroy, absl::OkStatus());