commit 9cd3494de92eccaa201f42fc8b02fc68c752aca8 from: Alexander Barton date: Tue Jul 13 20:29:06 2010 UTC Don't Proc_Kill() childs after Proc_Read(): done there already. commit - 6131822af6c0e2476dd539239d497dc0067271bc commit + 9cd3494de92eccaa201f42fc8b02fc68c752aca8 blob - 8ac5471ad488bfd36eaf1067969263ff6aa5778f blob + 93ee07e82a0100b125f359110e35e285e0a83ab3 --- src/ngircd/irc-login.c +++ src/ngircd/irc-login.c @@ -847,9 +847,6 @@ cb_Read_Auth_Result(int r_fd, UNUSED short events) if (len == 0) return; - /* Make sure authenticator sub-process is dead now ... */ - Proc_Kill(proc); - if (len != sizeof(result)) { Log(LOG_CRIT, "Auth: Got malformed result!"); Reject_Client(client); blob - 11cb0396644548387926407913f09530e3373dcd blob + 1e8cac36eea9d92a9eea14ba0b4797e5cbe3a063 --- src/ngircd/proc.c +++ src/ngircd/proc.c @@ -119,6 +119,8 @@ Proc_GenericSignalHandler(int Signal) /** * Read bytes from a pipe of a forked child process. + * In addition, this function makes sure that the child process is dead + * after all data has been read or a fatal error occurred. */ GLOBAL size_t Proc_Read(PROC_STAT *proc, void *buffer, size_t buflen)