summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlexander Barton <alex@barton.de>2010-07-13 22:29:06 +0200
committerAlexander Barton <alex@barton.de>2010-07-13 22:29:06 +0200
commit9cd3494de92eccaa201f42fc8b02fc68c752aca8 (patch)
tree1676ebcc31006881028f47449a0ae08cd7ab7eb1
parent6131822af6c0e2476dd539239d497dc0067271bc (diff)
downloadngircd-9cd3494de92eccaa201f42fc8b02fc68c752aca8.tar.gz
ngircd-9cd3494de92eccaa201f42fc8b02fc68c752aca8.zip
Don't Proc_Kill() childs after Proc_Read(): done there already.
-rw-r--r--src/ngircd/irc-login.c3
-rw-r--r--src/ngircd/proc.c2
2 files changed, 2 insertions, 3 deletions
diff --git a/src/ngircd/irc-login.c b/src/ngircd/irc-login.c
index 8ac5471a..93ee07e8 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 11cb0396..1e8cac36 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)