Clear signal flags /before/ taking action and continue afterwards to reduce

chance of dropping signals. Pointed out by deraadt@.
This commit is contained in:
Nicholas Marriott
2009-10-26 21:38:18 +00:00
parent 6b804f3a4a
commit a8b1379ccb
2 changed files with 10 additions and 5 deletions

View File

@ -328,15 +328,17 @@ server_main(int srv_fd)
/* Handle child exit. */
if (sigchld) {
server_child_signal();
sigchld = 0;
server_child_signal();
continue;
}
/* Recreate socket on SIGUSR1. */
if (sigusr1) {
sigusr1 = 0;
close(srv_fd);
srv_fd = server_create_socket();
sigusr1 = 0;
continue;
}
/* Initialise pollfd array and add server socket. */