Make repro more repro-able

pull/10206/head
Craig Tiller 8 years ago
parent 0d033b51ce
commit 78058b71aa
  1. 13
      test/core/iomgr/ev_epoll_linux_test.c

@ -312,11 +312,11 @@ typedef struct threading_shared {
int wakeups;
} threading_shared;
static __thread bool thread_done = false;
static __thread int thread_wakeups = 0;
static void test_threading_loop(void *arg) {
threading_shared *shared = arg;
while (!thread_done) {
while (thread_wakeups < 1000000) {
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
grpc_pollset_worker *worker;
gpr_mu_lock(shared->mu);
@ -333,14 +333,13 @@ static void test_threading_loop(void *arg) {
static void test_threading_wakeup(grpc_exec_ctx *exec_ctx, void *arg,
grpc_error *error) {
threading_shared *shared = arg;
if (++shared->wakeups > 1000000) {
thread_done = true;
}
++shared->wakeups;
++thread_wakeups;
GPR_ASSERT(GRPC_LOG_IF_ERROR(
"consume_wakeup", grpc_wakeup_fd_consume_wakeup(shared->wakeup_fd)));
grpc_fd_notify_on_read(exec_ctx, shared->wakeup_desc, &shared->on_wakeup);
GPR_ASSERT(GRPC_LOG_IF_ERROR("wakeup_next",
grpc_wakeup_fd_wakeup(shared->wakeup_fd)));
grpc_fd_notify_on_read(exec_ctx, shared->wakeup_desc, &shared->on_wakeup);
}
static void test_threading(void) {
@ -348,7 +347,7 @@ static void test_threading(void) {
shared.pollset = gpr_zalloc(grpc_pollset_size());
grpc_pollset_init(shared.pollset, &shared.mu);
gpr_thd_id thds[100];
gpr_thd_id thds[2];
for (size_t i = 0; i < GPR_ARRAY_SIZE(thds); i++) {
gpr_thd_options opt = gpr_thd_options_default();
gpr_thd_options_set_joinable(&opt);

Loading…
Cancel
Save