diff options
author | 2017-10-13 16:07:13 -0700 | |
---|---|---|
committer | 2017-10-18 17:12:19 -0700 | |
commit | 0ee7574732a06e8cace4e099a678f4bd5dbff679 (patch) | |
tree | e43d5de442fdcc3d39cd5af687f319fa39612d3f /src/core/lib/iomgr/block_annotate.h | |
parent | 6bf5f833efe2cb9e2ecc14358dd9699cd5d05263 (diff) |
Removing instances of exec_ctx being passed around in functions in
src/core. exec_ctx is now a thread_local pointer of type ExecCtx instead of
grpc_exec_ctx which is initialized whenever ExecCtx is instantiated. ExecCtx
also keeps track of the previous exec_ctx so that nesting of exec_ctx is
allowed. This means that there is only one exec_ctx being used at any
time. Also, grpc_exec_ctx_finish is called in the destructor of the
object, and the previous exec_ctx is restored to avoid breaking current
functionality. The code still explicitly calls grpc_exec_ctx_finish
because removing all such instances causes the code to break.
Diffstat (limited to 'src/core/lib/iomgr/block_annotate.h')
-rw-r--r-- | src/core/lib/iomgr/block_annotate.h | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/core/lib/iomgr/block_annotate.h b/src/core/lib/iomgr/block_annotate.h index fcbfe9eb1a..9db3cf0199 100644 --- a/src/core/lib/iomgr/block_annotate.h +++ b/src/core/lib/iomgr/block_annotate.h @@ -43,10 +43,10 @@ void gpr_thd_end_blocking_region(); do { \ gpr_thd_end_blocking_region(); \ } while (0) -#define GRPC_SCHEDULING_END_BLOCKING_REGION_WITH_EXEC_CTX(ec) \ - do { \ - gpr_thd_end_blocking_region(); \ - grpc_exec_ctx_invalidate_now((ec)); \ +#define GRPC_SCHEDULING_END_BLOCKING_REGION_WITH_EXEC_CTX() \ + do { \ + gpr_thd_end_blocking_region(); \ + grpc_exec_ctx_invalidate_now(); \ } while (0) #else #define GRPC_SCHEDULING_START_BLOCKING_REGION \ @@ -55,9 +55,9 @@ void gpr_thd_end_blocking_region(); #define GRPC_SCHEDULING_END_BLOCKING_REGION_NO_EXEC_CTX \ do { \ } while (0) -#define GRPC_SCHEDULING_END_BLOCKING_REGION_WITH_EXEC_CTX(ec) \ - do { \ - grpc_exec_ctx_invalidate_now((ec)); \ +#define GRPC_SCHEDULING_END_BLOCKING_REGION_WITH_EXEC_CTX() \ + do { \ + grpc_exec_ctx_invalidate_now(); \ } while (0) #endif |