* 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.
*
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 */
{
/* 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;
}
{
/* 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;
}
{
/* Timeout */
Log( LOG_DEBUG, "Connection %d timed out ...", i );
- Conn_Close( i, NULL, "Timeout", TRUE );
+ Conn_Close( i, NULL, "Timeout", FALSE );
}
}
}