From d65e02496cd9873f5bb0297661b19762b44ddfec Mon Sep 17 00:00:00 2001 From: Andrey Nazarov Date: Thu, 30 Oct 2008 17:12:38 +0000 Subject: Added ICMP error queue support on Linux. Client no longer drops connection immediately after an ICMP error is received, but waits some time for valid packets from server. Fixed FreeBSD build. --- source/sv_main.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'source/sv_main.c') diff --git a/source/sv_main.c b/source/sv_main.c index a0f305f..97dc122 100644 --- a/source/sv_main.c +++ b/source/sv_main.c @@ -1330,7 +1330,7 @@ void SV_SendAsyncPackets( void ) { continue; } - // just update reliable if needed + // just update reliable if needed if( netchan->type == NETCHAN_OLD ) { SV_ClientWriteReliableMessages_Old( client, netchan->maxpacketlen ); } @@ -1355,8 +1355,7 @@ calctime: SV_CheckTimeouts If a packet has not been received from a client for timeout->value -seconds, drop the conneciton. Server frames are used instead of -realtime to avoid dropping the local client while debugging. +seconds, drop the conneciton. When a client is normally dropped, the client_t goes into a zombie state for a few seconds to make sure any final reliable message gets resent @@ -1366,8 +1365,8 @@ if necessary static void SV_CheckTimeouts( void ) { client_t *client; unsigned zombie_time = 1000 * sv_zombietime->value; - unsigned drop_time = 1000 * sv_timeout->value; - unsigned ghost_time = 1000 * sv_ghostime->value; + unsigned drop_time = 1000 * sv_timeout->value; + unsigned ghost_time = 1000 * sv_ghostime->value; unsigned delta; FOR_EACH_CLIENT( client ) { -- cgit v1.2.3