reviewable/pr10712/r1
Craig Tiller 8 years ago
parent 07a138c2b3
commit d37d142a63
  1. 7
      src/core/lib/iomgr/ev_epollex_linux.c

@ -711,11 +711,17 @@ static grpc_error *pollset_kick_inner(grpc_pollset *pollset, pollable *p,
}
return GRPC_ERROR_NONE;
}
} else if (specific_worker->kicked) {
if (grpc_polling_trace) {
gpr_log(GPR_DEBUG, "PS:%p kicked_specific_but_already_kicked", p);
}
return GRPC_ERROR_NONE;
} else if (gpr_tls_get(&g_current_thread_worker) ==
(intptr_t)specific_worker) {
if (grpc_polling_trace) {
gpr_log(GPR_DEBUG, "PS:%p kicked_specific_but_awake", p);
}
specific_worker->kicked = true;
return GRPC_ERROR_NONE;
} else if (specific_worker == p->root_worker) {
if (grpc_polling_trace) {
@ -723,6 +729,7 @@ static grpc_error *pollset_kick_inner(grpc_pollset *pollset, pollable *p,
}
grpc_error *err = pollable_materialize(p);
if (err != GRPC_ERROR_NONE) return err;
specific_worker->kicked = true;
return grpc_wakeup_fd_wakeup(&p->wakeup);
} else {
if (grpc_polling_trace) {

Loading…
Cancel
Save