> @@ -938,6 +1027,8 @@ static int handle_requests(int epollfd, struct epoll_event *events, int nr_fds)
> if (ret < 0)
> goto out;
> if (ret > 0) {
> + if (complete_forks(epollfd, &events, &nr_fds))
> + return -1;
Same question for forks -- why two parts?
> if (complete_exits(epollfd))
> return -1;
> continue;
>