]> arthur.barton.de Git - ngircd-alex.git/blobdiff - src/ngircd/proc.c
Proc_Close(): Only close socket if it is still valid
[ngircd-alex.git] / src / ngircd / proc.c
index fd2df1d947c51a773a9447a04e159e4a15afd8a4..e062cd0b7c702494a3992e8bfe1beab2a348113a 100644 (file)
@@ -79,7 +79,6 @@ Proc_Fork(PROC_STAT *proc, int *pipefds, void (*cbfunc)(int, short), int timeout
                signal(SIGALRM, Proc_GenericSignalHandler);
                close(pipefds[0]);
                alarm(timeout);
-               Conn_CloseAllSockets();
                return 0;
        }
 
@@ -155,7 +154,10 @@ Proc_Read(PROC_STAT *proc, void *buffer, size_t buflen)
 GLOBAL void
 Proc_Close(PROC_STAT *proc)
 {
-       io_close(proc->pipe_fd);
+       /* Close socket, if it exists */
+       if (proc->pipe_fd >= 0)
+               io_close(proc->pipe_fd);
+
        Proc_InitStruct(proc);
 }