|  | @@ -877,6 +877,7 @@ static void pollset_work(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset,
 | 
	
		
			
				|  |  |          } else {
 | 
	
		
			
				|  |  |            pollset->fds[fd_count++] = pollset->fds[i];
 | 
	
		
			
				|  |  |            watchers[pfd_count].fd = pollset->fds[i];
 | 
	
		
			
				|  |  | +          GRPC_FD_REF(watchers[pfd_count].fd, "multipoller_start");
 | 
	
		
			
				|  |  |            pfds[pfd_count].fd = pollset->fds[i]->fd;
 | 
	
		
			
				|  |  |            pfds[pfd_count].revents = 0;
 | 
	
		
			
				|  |  |            pfd_count++;
 | 
	
	
		
			
				|  | @@ -890,8 +891,10 @@ static void pollset_work(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset,
 | 
	
		
			
				|  |  |        gpr_mu_unlock(&pollset->mu);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |        for (i = 2; i < pfd_count; i++) {
 | 
	
		
			
				|  |  | -        pfds[i].events = (short)fd_begin_poll(watchers[i].fd, pollset, &worker,
 | 
	
		
			
				|  |  | -                                              POLLIN, POLLOUT, &watchers[i]);
 | 
	
		
			
				|  |  | +        grpc_fd *fd = watchers[i].fd;
 | 
	
		
			
				|  |  | +        pfds[i].events = (short)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
 |