From 4673fd3ca06010e74f8223486b0f34e58c7b0a7e Mon Sep 17 00:00:00 2001 From: Dennis Friis Date: Tue, 7 Jul 2009 00:52:08 +0200 Subject: Fixes to socket system to make it cope better with fd depletion. Also added timeout for fullconnect, secured map server from stateless connections. --- src/common/socket.h | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'src/common/socket.h') diff --git a/src/common/socket.h b/src/common/socket.h index fe06e40..b67e660 100644 --- a/src/common/socket.h +++ b/src/common/socket.h @@ -12,6 +12,7 @@ #include #include #endif +#include // define declaration @@ -44,13 +45,14 @@ #define FD_SETSIZE 4096 #endif // __INTERIX - /* Removed Cygwin FD_SETSIZE declarations, now are directly passed on to the compiler through Makefile [Valaris] */ // Struct declaration struct socket_data{ int eof; + time_t created; + int connected; unsigned char *rdata,*wdata; int max_rdata,max_wdata; int rdata_size,wdata_size; @@ -71,6 +73,13 @@ struct socket_data{ #endif +// save file descriptors for important stuff +#define SOFT_LIMIT (FD_SETSIZE - 50) + +// socket timeout to establish a full connection in seconds +#define CONNECT_TIMEOUT 15 + + extern struct socket_data *session[FD_SETSIZE]; extern int rfifo_size,wfifo_size; @@ -93,4 +102,9 @@ void set_defaultparse(int (*defaultparse)(int)); int Net_Init(void); +int fclose_(FILE *fp); +FILE *fopen_(const char *path, const char *mode); + +int free_fds(); + #endif // _SOCKET_H_ -- cgit v1.2.3-60-g2f50