From f8092c062a6932df138f0a9cf2855628a065c27c Mon Sep 17 00:00:00 2001 From: Michael Poole Date: Mon, 26 Aug 2013 22:09:27 -0400 Subject: [PATCH] Only respawn an IAuth process when both sockets are destroyed. --- ircd/s_auth.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ircd/s_auth.c b/ircd/s_auth.c index 95e7d5c..ddeabbc 100644 --- a/ircd/s_auth.c +++ b/ircd/s_auth.c @@ -2248,8 +2248,7 @@ static void iauth_sock_callback(struct Event *ev) switch (ev_type(ev)) { case ET_DESTROY: - /* Hm, what happened here? */ - if (!IAuthHas(iauth, IAUTH_CLOSING)) + if (!IAuthHas(iauth, IAUTH_CLOSING) && !s_active(i_stderr(iauth))) iauth_do_spawn(iauth, 1); break; case ET_READ: @@ -2322,7 +2321,8 @@ static void iauth_stderr_callback(struct Event *ev) switch (ev_type(ev)) { case ET_DESTROY: - /* We do not restart iauth here: the stdout handler does that for us. */ + if (!IAuthHas(iauth, IAUTH_CLOSING) && !s_active(i_socket(iauth))) + iauth_do_spawn(iauth, 1); break; case ET_READ: iauth_read_stderr(iauth); -- 2.20.1