Go to the documentation of this file.
19 #ifndef GRPC_CORE_LIB_IOMGR_EXEC_CTX_H
20 #define GRPC_CORE_LIB_IOMGR_EXEC_CTX_H
45 #define GRPC_EXEC_CTX_FLAG_IS_FINISHED 1
48 #define GRPC_EXEC_CTX_FLAG_THREAD_RESOURCE_LOOP 2
51 #define GRPC_EXEC_CTX_FLAG_IS_INTERNAL_THREAD 4
55 #define GRPC_APP_CALLBACK_EXEC_CTX_FLAG_IS_INTERNAL_THREAD 1
217 static void operator delete(
void* ) { abort(); }
295 while (
head_ !=
nullptr) {
297 head_ = f->internal_next;
298 if (f->internal_next ==
nullptr) {
301 (*f->functor_run)(f, f->internal_success);
303 callback_exec_ctx_ =
nullptr;
318 if (
Get() ==
nullptr) {
332 if (
ctx->head_ ==
nullptr) {
333 ctx->head_ = functor;
335 if (
ctx->tail_ !=
nullptr) {
336 ctx->tail_->internal_next = functor;
338 ctx->tail_ = functor;
static GPR_THREAD_LOCAL(ApplicationCallbackExecCtx *) callback_exec_ctx_
#define GRPC_EXEC_CTX_FLAG_IS_FINISHED
GPRAPI unsigned gpr_cpu_current_cpu(void)
static void Enqueue(grpc_completion_queue_functor *functor, int is_success)
grpc_closure_list closure_list_
CombinerData * combiner_data()
static void DecExecCtxCount()
grpc_completion_queue_functor * tail_
ExecCtx & operator=(const ExecCtx &)=delete
CombinerData combiner_data_
static void RunList(const DebugLocation &location, grpc_closure_list *list)
#define GPR_DEBUG_ASSERT(x)
static ApplicationCallbackExecCtx * Get()
#define GRPC_CLOSURE_LIST_INIT
static GPR_THREAD_LOCAL(ExecCtx *) exec_ctx_
struct grpc_combiner grpc_combiner
virtual bool CheckReadyToFinish()
ApplicationCallbackExecCtx(uintptr_t fl)
OPENSSL_EXPORT pem_password_cb void * u
static void Set(ApplicationCallbackExecCtx *exec_ctx, uintptr_t flags)
grpc_closure_list * closure_list()
struct grpc_completion_queue_functor * internal_next
static void GlobalInit(void)
_W64 unsigned int uintptr_t
static void Set(ExecCtx *exec_ctx)
void TestOnlySetNow(Timestamp new_val)
#define GRPC_APP_CALLBACK_EXEC_CTX_FLAG_IS_INTERNAL_THREAD
void SetNowIomgrShutdown()
grpc_core::ExecCtx exec_ctx
static void GlobalShutdown(void)
static void IncExecCtxCount()
static void Run(const DebugLocation &location, grpc_closure *closure, grpc_error_handle error)
Combiner * active_combiner
ApplicationCallbackExecCtx()
static constexpr Timestamp InfFuture()
grpc_completion_queue_functor * head_
#define GRPC_EXEC_CTX_FLAG_IS_INTERNAL_THREAD
bool grpc_closure_list_empty(grpc_closure_list closure_list)
~ApplicationCallbackExecCtx()
grpc
Author(s):
autogenerated on Thu Mar 13 2025 02:59:16