repo: ngircd
action: commit
revision: 
path_from: 
revision_from: 79a917f954bef8089967786bd3597a6e5ff5c336:
path_to: 
revision_to: 
git.thebackupbox.net
ngircd
git clone git://git.thebackupbox.net/ngircd
commit 79a917f954bef8089967786bd3597a6e5ff5c336
Author: Alexander Barton 
Date:   Sun May 3 03:04:29 2020 +0200

    Set the "last data" time to "last ping" time when updating the latter

    This is required because the PING can be received quite a bit earlier
    than it is actually handled, for example during "server burst" or other
    heavy operations:
    So the times won't match and PING-PONG logic would become garbled,
    because we test for "last ping > last data" to determine if a PING
    already was sent or not.

diff --git a/src/ngircd/conn-func.c b/src/ngircd/conn-func.c
index 72d38b8621ff559c9c93903989e7c091b018be79..
index ..4a2d32d6a70bcb270981da9b671acc99c6630df3 100644
--- a/src/ngircd/conn-func.c
+++ b/src/ngircd/conn-func.c
@@ -51,7 +51,7 @@ GLOBAL void
 Conn_UpdatePing(CONN_ID Idx)
 {
 	assert(Idx > NONE);
-	My_Connections[Idx].lastping = time(NULL);
+	My_Connections[Idx].lastping = My_Connections[Idx].lastdata = time(NULL);
 }

 /*

-----END OF PAGE-----