- for (int old_tfd = tls_daemon_tick(); old_tfd >= 0; )
- {
- FD_CLR(old_tfd, &select_listen);
- if (old_tfd == listen_fd_max - 1) listen_fd_max = old_tfd;
- if (tls_watch_fd >= 0)
- add_listener_socket(tls_watch_fd, &select_listen, &listen_fd_max);
- break;
- }
+
+ if ((old_tfd = tls_daemon_tick()) >= 0)
+ for (struct pollfd * p = &fd_polls[listen_socket_count];
+ p < fd_polls + poll_fd_count; p++)
+ if (p->fd == old_tfd) { p->fd = tls_watch_fd ; break; }
+ }