X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=src%2FClientSocket.c;h=f9faf44807eaf8b7f896704409ef8dc2e529e738;hb=7e014f259fb68794e5e462149d589f90db649d41;hp=cda3ee76adeb93b82501db4b305fc05322ef7aa1;hpb=c254e7d9a1622b19aae9b4ebecb4082657288f4a;p=NeonServV5.git 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); + } } } }