X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd-alex.git;a=blobdiff_plain;f=src%2Fngircd%2Fconn.c;h=5c37329f2f0c58016394b261a13a2c420d140fa3;hp=5942f97d2ea0859e5653254c67a455cca63260c8;hb=ae6ab2c3e0ddeffaec67b916d83db93b99e84b80;hpb=cbce54e0fcb16e48fe6de06899208314adde15a6 diff --git a/src/ngircd/conn.c b/src/ngircd/conn.c index 5942f97d..5c37329f 100644 --- a/src/ngircd/conn.c +++ b/src/ngircd/conn.c @@ -9,11 +9,26 @@ * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS. * - * $Id: conn.c,v 1.43 2002/03/02 00:29:11 alex Exp $ + * $Id: conn.c,v 1.47 2002/03/04 23:16:23 alex Exp $ * * connect.h: Verwaltung aller Netz-Verbindungen ("connections") * * $Log: conn.c,v $ + * Revision 1.47 2002/03/04 23:16:23 alex + * - Logging geaendert: detaillierter im Syslog, "allgemeiner" fuer Clients. + * + * Revision 1.46 2002/03/02 03:32:08 alex + * - Aenderung des Idle-Verhalten revidiert: das war ein Schnellschuss :-/ + * + * Revision 1.45 2002/03/02 02:44:01 alex + * - Timeouts ausgehender Verbindungen werden besser erkannt (z.B. unter Cygwin). + * - Idle-Time der Hauptschleife [Conn_Handle()] erhoeht: weniger Last. + * + * Revision 1.44 2002/03/02 00:43:31 alex + * - bei abgebrochene ausgehende Server-Verbindungen wird der naechste Ver- + * bindungsversuch in RECONNECT_DELAY Sekunden (3) unternommen und nicht + * mehr "ConnectRetry" Sekunden gewartet. + * * Revision 1.43 2002/03/02 00:29:11 alex * - der Wert der Konfigurations-Variable "ConnectRetry" wird besser beachtet. * @@ -577,10 +592,13 @@ GLOBAL VOID Conn_Close( CONN_ID Idx, CHAR *LogMsg, CHAR *FwdMsg, BOOLEAN InformC free( My_Connections[Idx].res_stat ); } - /* Bei Server-Verbindungen lasttry-Zeitpunkt auf "jetzt" setzen */ - if( My_Connections[Idx].our_server >= 0 ) Conf_Server[My_Connections[Idx].our_server].lasttry = time( NULL ); + /* Bei Server-Verbindungen lasttry-Zeitpunkt so setzen, dass + * der naechste Verbindungsversuch in RECONNECT_DELAY Sekunden + * gestartet wird */ + if( My_Connections[Idx].our_server >= 0 ) Conf_Server[My_Connections[Idx].our_server].lasttry = time( NULL ) - Conf_ConnectRetry + RECONNECT_DELAY; FD_CLR( My_Connections[Idx].sock, &My_Sockets ); + FD_CLR( My_Connections[Idx].sock, &My_Connects ); My_Connections[Idx].sock = NONE; } /* Conn_Close */ @@ -844,7 +862,7 @@ LOCAL VOID Read_Request( CONN_ID Idx ) { /* Socket wurde geschlossen */ Log( LOG_INFO, "%s:%d is closing the connection ...", inet_ntoa( My_Connections[Idx].addr.sin_addr ), ntohs( My_Connections[Idx].addr.sin_port)); - Conn_Close( Idx, NULL, "Client closed connection.", FALSE ); + Conn_Close( Idx, "Socket closed!", "Client closed connection", FALSE ); return; } @@ -852,7 +870,7 @@ LOCAL VOID Read_Request( CONN_ID Idx ) { /* Fehler beim Lesen */ Log( LOG_ERR, "Read error on connection %d: %s!", Idx, strerror( errno )); - Conn_Close( Idx, NULL, "Read error!", FALSE ); + Conn_Close( Idx, "Read error!", "Client closed connection", FALSE ); return; } @@ -964,7 +982,7 @@ LOCAL VOID Check_Connections( VOID ) { /* Timeout */ Log( LOG_DEBUG, "Connection %d timed out ...", i ); - Conn_Close( i, NULL, "Timeout", TRUE ); + Conn_Close( i, NULL, "Timeout", FALSE ); } } }