Skip to content
Snippets Groups Projects
Commit cfa8313f authored by Craig Tiller's avatar Craig Tiller
Browse files

Fix race

parent bb29c724
No related branches found
No related tags found
No related merge requests found
......@@ -274,19 +274,19 @@ static void inc_on_failure(grpc_exec_ctx *exec_ctx, void *arg,
static void wait_for_fail_count(grpc_exec_ctx *exec_ctx, int *fail_count,
int want_fail_count) {
grpc_exec_ctx_flush(exec_ctx);
for (int i = 0; i < 5 && *fail_count < want_fail_count; i++) {
gpr_mu_lock(g_mu);
gpr_timespec deadline = grpc_timeout_seconds_to_deadline(10);
while (gpr_time_cmp(gpr_now(deadline.clock_type), deadline) < 0 && *fail_count < want_fail_count) {
grpc_pollset_worker *worker = NULL;
gpr_timespec now = gpr_now(GPR_CLOCK_REALTIME);
gpr_timespec deadline =
gpr_time_add(now, gpr_time_from_seconds(1, GPR_TIMESPAN));
gpr_mu_lock(g_mu);
GPR_ASSERT(GRPC_LOG_IF_ERROR(
"pollset_work",
grpc_pollset_work(exec_ctx, g_pollset, &worker, now, deadline)));
grpc_pollset_work(exec_ctx, g_pollset, &worker, gpr_now(deadline.clock_type), deadline)));
gpr_mu_unlock(g_mu);
grpc_exec_ctx_flush(exec_ctx);
gpr_mu_lock(g_mu);
}
GPR_ASSERT(*fail_count == want_fail_count);
gpr_mu_unlock(g_mu);
}
static void multiple_shutdown_test(grpc_endpoint_test_config config) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment