repo: ngircd
action: commit
revision: 
path_from: 
revision_from: 9cd3494de92eccaa201f42fc8b02fc68c752aca8:
path_to: 
revision_to: 
git.thebackupbox.net
ngircd
git clone git://git.thebackupbox.net/ngircd
commit 9cd3494de92eccaa201f42fc8b02fc68c752aca8
Author: Alexander Barton 
Date:   Tue Jul 13 22:29:06 2010 +0200

    Don't Proc_Kill() childs after Proc_Read(): done there already.

diff --git a/src/ngircd/irc-login.c b/src/ngircd/irc-login.c
index 8ac5471ad488bfd36eaf1067969263ff6aa5778f..
index ..93ee07e82a0100b125f359110e35e285e0a83ab3 100644
--- a/src/ngircd/irc-login.c
+++ b/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);
diff --git a/src/ngircd/proc.c b/src/ngircd/proc.c
index 11cb0396644548387926407913f09530e3373dcd..
index ..1e8cac36eea9d92a9eea14ba0b4797e5cbe3a063 100644
--- a/src/ngircd/proc.c
+++ b/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)

-----END OF PAGE-----