diff options
author | 2017-12-06 09:05:05 -0800 | |
---|---|---|
committer | 2017-12-06 09:05:05 -0800 | |
commit | ad4d2dde0052efbbf49d64b0843c45f0381cfeb3 (patch) | |
tree | 6a657f8c6179d873b34505cdc24bce9462ca68eb /test/core/iomgr/combiner_test.cc | |
parent | a3df36cc2505a89c2f481eea4a66a87b3002844a (diff) |
Revert "All instances of exec_ctx being passed around in src/core removed"
Diffstat (limited to 'test/core/iomgr/combiner_test.cc')
-rw-r--r-- | test/core/iomgr/combiner_test.cc | 51 |
1 files changed, 31 insertions, 20 deletions
diff --git a/test/core/iomgr/combiner_test.cc b/test/core/iomgr/combiner_test.cc index 891008c774..33d892fa06 100644 --- a/test/core/iomgr/combiner_test.cc +++ b/test/core/iomgr/combiner_test.cc @@ -28,11 +28,13 @@ static void test_no_op(void) { gpr_log(GPR_DEBUG, "test_no_op"); - grpc_core::ExecCtx exec_ctx; - GRPC_COMBINER_UNREF(grpc_combiner_create(), "test_no_op"); + grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; + GRPC_COMBINER_UNREF(&exec_ctx, grpc_combiner_create(), "test_no_op"); + grpc_exec_ctx_finish(&exec_ctx); } -static void set_event_to_true(void* value, grpc_error* error) { +static void set_event_to_true(grpc_exec_ctx* exec_ctx, void* value, + grpc_error* error) { gpr_event_set(static_cast<gpr_event*>(value), (void*)1); } @@ -42,14 +44,16 @@ static void test_execute_one(void) { grpc_combiner* lock = grpc_combiner_create(); gpr_event done; gpr_event_init(&done); - grpc_core::ExecCtx exec_ctx; - GRPC_CLOSURE_SCHED(GRPC_CLOSURE_CREATE(set_event_to_true, &done, + grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; + GRPC_CLOSURE_SCHED(&exec_ctx, + GRPC_CLOSURE_CREATE(set_event_to_true, &done, grpc_combiner_scheduler(lock)), GRPC_ERROR_NONE); - grpc_core::ExecCtx::Get()->Flush(); + grpc_exec_ctx_flush(&exec_ctx); GPR_ASSERT(gpr_event_wait(&done, grpc_timeout_seconds_to_deadline(5)) != nullptr); - GRPC_COMBINER_UNREF(lock, "test_execute_one"); + GRPC_COMBINER_UNREF(&exec_ctx, lock, "test_execute_one"); + grpc_exec_ctx_finish(&exec_ctx); } typedef struct { @@ -63,7 +67,7 @@ typedef struct { size_t value; } ex_args; -static void check_one(void* a, grpc_error* error) { +static void check_one(grpc_exec_ctx* exec_ctx, void* a, grpc_error* error) { ex_args* args = static_cast<ex_args*>(a); GPR_ASSERT(*args->ctr == args->value - 1); *args->ctr = args->value; @@ -72,25 +76,28 @@ static void check_one(void* a, grpc_error* error) { static void execute_many_loop(void* a) { thd_args* args = static_cast<thd_args*>(a); - grpc_core::ExecCtx exec_ctx; + grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; size_t n = 1; for (size_t i = 0; i < 10; i++) { for (size_t j = 0; j < 10000; j++) { ex_args* c = static_cast<ex_args*>(gpr_malloc(sizeof(*c))); c->ctr = &args->ctr; c->value = n++; - GRPC_CLOSURE_SCHED(GRPC_CLOSURE_CREATE( + GRPC_CLOSURE_SCHED(&exec_ctx, + GRPC_CLOSURE_CREATE( check_one, c, grpc_combiner_scheduler(args->lock)), GRPC_ERROR_NONE); - grpc_core::ExecCtx::Get()->Flush(); + grpc_exec_ctx_flush(&exec_ctx); } // sleep for a little bit, to test a combiner draining and another thread // picking it up gpr_sleep_until(grpc_timeout_milliseconds_to_deadline(100)); } - GRPC_CLOSURE_SCHED(GRPC_CLOSURE_CREATE(set_event_to_true, &args->done, + GRPC_CLOSURE_SCHED(&exec_ctx, + GRPC_CLOSURE_CREATE(set_event_to_true, &args->done, grpc_combiner_scheduler(args->lock)), GRPC_ERROR_NONE); + grpc_exec_ctx_finish(&exec_ctx); } static void test_execute_many(void) { @@ -113,18 +120,20 @@ static void test_execute_many(void) { gpr_inf_future(GPR_CLOCK_REALTIME)) != nullptr); gpr_thd_join(thds[i]); } - grpc_core::ExecCtx exec_ctx; - GRPC_COMBINER_UNREF(lock, "test_execute_many"); + grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; + GRPC_COMBINER_UNREF(&exec_ctx, lock, "test_execute_many"); + grpc_exec_ctx_finish(&exec_ctx); } static gpr_event got_in_finally; -static void in_finally(void* arg, grpc_error* error) { +static void in_finally(grpc_exec_ctx* exec_ctx, void* arg, grpc_error* error) { gpr_event_set(&got_in_finally, (void*)1); } -static void add_finally(void* arg, grpc_error* error) { - GRPC_CLOSURE_SCHED(GRPC_CLOSURE_CREATE(in_finally, arg, +static void add_finally(grpc_exec_ctx* exec_ctx, void* arg, grpc_error* error) { + GRPC_CLOSURE_SCHED(exec_ctx, + GRPC_CLOSURE_CREATE(in_finally, arg, grpc_combiner_finally_scheduler( static_cast<grpc_combiner*>(arg))), GRPC_ERROR_NONE); @@ -134,15 +143,17 @@ static void test_execute_finally(void) { gpr_log(GPR_DEBUG, "test_execute_finally"); grpc_combiner* lock = grpc_combiner_create(); - grpc_core::ExecCtx exec_ctx; + grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; gpr_event_init(&got_in_finally); GRPC_CLOSURE_SCHED( + &exec_ctx, GRPC_CLOSURE_CREATE(add_finally, lock, grpc_combiner_scheduler(lock)), GRPC_ERROR_NONE); - grpc_core::ExecCtx::Get()->Flush(); + grpc_exec_ctx_flush(&exec_ctx); GPR_ASSERT(gpr_event_wait(&got_in_finally, grpc_timeout_seconds_to_deadline(5)) != nullptr); - GRPC_COMBINER_UNREF(lock, "test_execute_finally"); + GRPC_COMBINER_UNREF(&exec_ctx, lock, "test_execute_finally"); + grpc_exec_ctx_finish(&exec_ctx); } int main(int argc, char** argv) { |