From: pk910 Date: Mon, 24 Oct 2011 00:09:30 +0000 (+0200) Subject: added auto reconnect X-Git-Tag: v5.3~250 X-Git-Url: http://git.pk910.de/?p=NeonServV5.git;a=commitdiff_plain;h=7e014f259fb68794e5e462149d589f90db649d41 added auto reconnect --- diff --git a/src/ClientSocket.c b/src/ClientSocket.c index cda3ee7..f9faf44 100644 --- a/src/ClientSocket.c +++ b/src/ClientSocket.c @@ -98,7 +98,7 @@ int connect_socket(struct ClientSocket *client) { } client->sock = sock; - client->flags |= SOCKET_FLAG_CONNECTED; + client->flags |= SOCKET_FLAG_CONNECTED | SOCKET_FLAG_RECONNECT; client->connection_time = time(0); //send the IRC Headers @@ -151,7 +151,7 @@ int connect_socket(struct ClientSocket *client) { } client->sock = sock; - client->flags |= SOCKET_FLAG_CONNECTED; + client->flags |= SOCKET_FLAG_CONNECTED | SOCKET_FLAG_RECONNECT; client->connection_time = time(0); //send the IRC Headers @@ -275,6 +275,10 @@ void socket_loop(int timeout_seconds) { sock->bufferpos -= used; } } + } else if(!(sock->flags & SOCKET_FLAG_CONNECTED) && (sock->flags & SOCKET_FLAG_RECONNECT)) { + if(time(0) - sock->connection_time >= SOCKET_RECONNECT_TIME) { + connect_socket(sock); + } } } } diff --git a/src/ClientSocket.h b/src/ClientSocket.h index 7926767..01a8eee 100644 --- a/src/ClientSocket.h +++ b/src/ClientSocket.h @@ -24,6 +24,7 @@ #define SOCKET_FLAG_READY 0x04 #define SOCKET_FLAG_PREFERRED 0x08 /* prefered bot to send datas to the IRC World (NOTICE's WHO's etc pp) */ #define SOCKET_FLAG_USE_QUEUE 0x10 +#define SOCKET_FLAG_RECONNECT 0x20 #define BUF_SIZ 512 diff --git a/src/main.h b/src/main.h index 811ad48..e49f5b4 100644 --- a/src/main.h +++ b/src/main.h @@ -73,7 +73,8 @@ #define COMPILER "Unknown" #endif -#define SOCKET_SELECT_TIME 1 +#define SOCKET_SELECT_TIME 1 +#define SOCKET_RECONNECT_TIME 20 #define NICKLEN 30 #define USERLEN 10