|
|
|
@ -122,6 +122,7 @@ static void multipoll_with_poll_pollset_maybe_work_and_unlock( |
|
|
|
|
} else { |
|
|
|
|
h->fds[fd_count++] = h->fds[i]; |
|
|
|
|
watchers[pfd_count].fd = h->fds[i]; |
|
|
|
|
GRPC_FD_REF(watchers[pfd_count].fd, "multipoller_start"); |
|
|
|
|
pfds[pfd_count].fd = h->fds[i]->fd; |
|
|
|
|
pfds[pfd_count].revents = 0; |
|
|
|
|
pfd_count++; |
|
|
|
@ -135,8 +136,10 @@ static void multipoll_with_poll_pollset_maybe_work_and_unlock( |
|
|
|
|
gpr_mu_unlock(&pollset->mu); |
|
|
|
|
|
|
|
|
|
for (i = 2; i < pfd_count; i++) { |
|
|
|
|
pfds[i].events = (short)grpc_fd_begin_poll(watchers[i].fd, pollset, worker, |
|
|
|
|
POLLIN, POLLOUT, &watchers[i]); |
|
|
|
|
grpc_fd *fd = watchers[i].fd; |
|
|
|
|
pfds[i].events = (short)grpc_fd_begin_poll(fd, pollset, worker, POLLIN, |
|
|
|
|
POLLOUT, &watchers[i]); |
|
|
|
|
GRPC_FD_UNREF(fd, "multipoller_start"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* TODO(vpai): Consider first doing a 0 timeout poll here to avoid
|
|
|
|
|