|
|
|
@ -85,14 +85,17 @@ void grpc_exec_ctx_finish(grpc_exec_ctx *exec_ctx) { |
|
|
|
|
void grpc_exec_ctx_sched(grpc_exec_ctx *exec_ctx, grpc_closure *closure, |
|
|
|
|
grpc_error *error, |
|
|
|
|
grpc_workqueue *offload_target_or_null) { |
|
|
|
|
GPR_ASSERT(offload_target_or_null == NULL); |
|
|
|
|
grpc_closure_list_append(&exec_ctx->closure_list, closure, error); |
|
|
|
|
if (offload_target_or_null == NULL) { |
|
|
|
|
grpc_closure_list_append(&exec_ctx->closure_list, closure, error); |
|
|
|
|
} else { |
|
|
|
|
grpc_workqueue_enqueue(exec_ctx, offload_target_or_null, closure, error); |
|
|
|
|
GRPC_WORKQUEUE_UNREF(exec_ctx, offload_target_or_null, "exec_ctx_sched"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void grpc_exec_ctx_enqueue_list(grpc_exec_ctx *exec_ctx, |
|
|
|
|
grpc_closure_list *list, |
|
|
|
|
grpc_workqueue *offload_target_or_null) { |
|
|
|
|
GPR_ASSERT(offload_target_or_null == NULL); |
|
|
|
|
grpc_closure_list_move(list, &exec_ctx->closure_list); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|