}
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
}
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
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);
+ }
}
}
}
#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
#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