]> arthur.barton.de Git - ngircd-alex.git/blobdiff - src/ngircd/irc-login.c
Fix PING-PONG handling when processing backlog in read buffers
[ngircd-alex.git] / src / ngircd / irc-login.c
index 846b10d6e8aa2f08951c393f545aba0deb8ae331..f682e216f273279501d33a036973cdb738ba9848 100644 (file)
@@ -877,11 +877,12 @@ IRC_PONG(CLIENT *Client, REQUEST *Req)
                    (long)(time(NULL) - Conn_GetSignon(conn)),
                    time(NULL) - Conn_GetSignon(conn) == 1 ? "" : "s",
                    Client_UserCount(), Channel_CountVisible(NULL));
                    (long)(time(NULL) - Conn_GetSignon(conn)),
                    time(NULL) - Conn_GetSignon(conn) == 1 ? "" : "s",
                    Client_UserCount(), Channel_CountVisible(NULL));
-               Conn_UpdatePing(conn);
        } else
                LogDebug("Connection %d: received PONG. Lag: %ld seconds.",
                         conn, (long)(time(NULL) - Conn_LastPing(conn)));
 
        } else
                LogDebug("Connection %d: received PONG. Lag: %ld seconds.",
                         conn, (long)(time(NULL) - Conn_LastPing(conn)));
 
+       /* We got a PONG, so signal that none is pending on this connection. */
+       Conn_UpdatePing(conn, 1);
        return CONNECTED;
 } /* IRC_PONG */
 
        return CONNECTED;
 } /* IRC_PONG */