diff options
author | yang-g <yangg@google.com> | 2017-08-24 09:11:04 -0700 |
---|---|---|
committer | yang-g <yangg@google.com> | 2017-08-24 09:11:04 -0700 |
commit | 0f9e1932a33bec7ad2b599b2953b7def390a55df (patch) | |
tree | a1171b6ab6862fe0abd5b2dac4a6ab03ce0d58b4 /src/core/lib/support | |
parent | 9ff60310146afe0e9c7c1a5ba66461fff252d5e5 (diff) |
Update block_annotate.h
Diffstat (limited to 'src/core/lib/support')
-rw-r--r-- | src/core/lib/support/block_annotate.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/core/lib/support/block_annotate.h b/src/core/lib/support/block_annotate.h index 0a2cb45018..8e3ef7df65 100644 --- a/src/core/lib/support/block_annotate.h +++ b/src/core/lib/support/block_annotate.h @@ -19,15 +19,37 @@ #ifndef GRPC_CORE_LIB_SUPPORT_BLOCK_ANNOTATE_H #define GRPC_CORE_LIB_SUPPORT_BLOCK_ANNOTATE_H +#ifdef __cplusplus +extern "C" { +#endif + +void gpr_thd_start_blocking_region(); +void gpr_thd_end_blocking_region(); + +#ifdef __cplusplus +} +#endif + /* These annotations identify the beginning and end of regions where the code may block for reasons other than synchronization functions. These include poll, epoll, and getaddrinfo. */ +#ifdef GRPC_SCHEDULING_MARK_BLOCKING_REGION +#define GRPC_SCHEDULING_START_BLOCKING_REGION \ + do { \ + gpr_thd_start_blocking_region(); \ + } while (0) +#define GRPC_SCHEDULING_END_BLOCKING_REGION \ + do { \ + gpr_thd_end_blocking_region(); \ + } while (0) +#else #define GRPC_SCHEDULING_START_BLOCKING_REGION \ do { \ } while (0) #define GRPC_SCHEDULING_END_BLOCKING_REGION \ do { \ } while (0) +#endif #endif /* GRPC_CORE_LIB_SUPPORT_BLOCK_ANNOTATE_H */ |