repo: ngircd action: commit revision: path_from: revision_from: 69803d6ff1ac8deb95e023bda6ad2aef435dc69a: path_to: revision_to:
commit 69803d6ff1ac8deb95e023bda6ad2aef435dc69a Author: Alexander BartonDate: Tue Aug 23 12:32:05 2011 +0200 Use Proc_Close() to remove no longer unused pipes to child processes This removes spurious (but harmless) debug messages. diff --git a/src/ngircd/conn.c b/src/ngircd/conn.c
--- a/src/ngircd/conn.c
+++ b/src/ngircd/conn.c
@@ -2107,6 +2107,7 @@ cb_Connect_to_Server(int fd, UNUSED short events)
/* Read result from pipe */
len = Proc_Read(&Conf_Server[i].res_stat, dest_addrs, sizeof(dest_addrs));
+ Proc_Close(&Conf_Server[i].res_stat);
if (len == 0) {
/* Error resolving hostname: reset server structure */
Conf_Server[i].conn_id = NONE;
@@ -2166,6 +2167,7 @@ cb_Read_Resolver_Result( int r_fd, UNUSED short events )
/* Read result from pipe */
len = Proc_Read(&My_Connections[i].proc_stat, readbuf, sizeof readbuf -1);
+ Proc_Close(&My_Connections[i].proc_stat);
if (len == 0)
return;
diff --git a/src/ngircd/irc-login.c b/src/ngircd/irc-login.c
--- a/src/ngircd/irc-login.c +++ b/src/ngircd/irc-login.c @@ -1009,6 +1009,7 @@ cb_Read_Auth_Result(int r_fd, UNUSED short events) /* Read result from pipe */ len = Proc_Read(proc, &result, sizeof(result)); + Proc_Close(proc); if (len == 0) return; diff --git a/src/ngircd/proc.c b/src/ngircd/proc.c
--- a/src/ngircd/proc.c
+++ b/src/ngircd/proc.c
@@ -138,13 +138,14 @@ Proc_Read(PROC_STAT *proc, void *buffer, size_t buflen)
return 0;
Log(LOG_CRIT, "Can't read from child process %ld: %s",
proc->pid, strerror(errno));
+ Proc_Close(proc);
bytes_read = 0;
+ } else if (bytes_read == 0) {
+ /* EOF: clean up */
+ LogDebug("Child process %ld: EOF reached, closing pipe.",
+ proc->pid);
+ Proc_Close(proc);
}
-#if DEBUG
- else if (bytes_read == 0)
- LogDebug("Can't read from child process %ld: EOF", proc->pid);
-#endif
- Proc_InitStruct(proc);
return (size_t)bytes_read;
}
-----END OF PAGE-----