mirror of
https://gitea.psi.ch/ELOG/elog.git
synced 2026-09-10 18:23:28 +00:00
Added closing of keep-alive connections after 60 sec.
SVN revision: 1867
This commit is contained in:
parent
469ccf0eac
commit
1e15c3fbc9
24
src/elogd.c
24
src/elogd.c
@ -9,6 +9,8 @@
|
|||||||
|
|
||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
|
|
||||||
|
#define DEBUG_CONN
|
||||||
|
|
||||||
/* Version of ELOG */
|
/* Version of ELOG */
|
||||||
#define VERSION "2.6.5"
|
#define VERSION "2.6.5"
|
||||||
char svn_revision[] = "$Id$";
|
char svn_revision[] = "$Id$";
|
||||||
@ -25077,7 +25079,18 @@ void server_loop(void)
|
|||||||
if (_abort)
|
if (_abort)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if (status != -1) { // if no HUP signal is received
|
/* close old connections */
|
||||||
|
for (i = 0 ; i < N_MAX_CONNECTION; i++)
|
||||||
|
if (ka_sock[i] && (int) time(NULL) - ka_time[i] > 60) {
|
||||||
|
closesocket(ka_sock[i]);
|
||||||
|
ka_sock[i] = 0;
|
||||||
|
ka_time[i] = 0;
|
||||||
|
#ifdef DEBUG_CONN
|
||||||
|
eprintf("## close connection %d (60 sec. idle)\n", i);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
if (status != -1) { // if no HUP signal is received
|
||||||
if (FD_ISSET(lsock, &readfds)) {
|
if (FD_ISSET(lsock, &readfds)) {
|
||||||
len = sizeof(acc_addr);
|
len = sizeof(acc_addr);
|
||||||
_sock = accept(lsock, (struct sockaddr *) &acc_addr, (void *) &len);
|
_sock = accept(lsock, (struct sockaddr *) &acc_addr, (void *) &len);
|
||||||
@ -25095,9 +25108,10 @@ void server_loop(void)
|
|||||||
|
|
||||||
closesocket(ka_sock[i_min]);
|
closesocket(ka_sock[i_min]);
|
||||||
ka_sock[i_min] = 0;
|
ka_sock[i_min] = 0;
|
||||||
|
ka_time[i_min] = 0;
|
||||||
i = i_min;
|
i = i_min;
|
||||||
#ifdef DEBUG_CONN
|
#ifdef DEBUG_CONN
|
||||||
eprintf("## close connection %d\n", i_min);
|
eprintf("## recycle connection %d\n", i_min);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -25864,7 +25878,11 @@ void server_loop(void)
|
|||||||
closesocket(_sock);
|
closesocket(_sock);
|
||||||
ka_sock[i_conn] = 0;
|
ka_sock[i_conn] = 0;
|
||||||
#ifdef DEBUG_CONN
|
#ifdef DEBUG_CONN
|
||||||
eprintf("## close connection %d\n", i_conn);
|
eprintf("## close connection %d (no keep alive)\n", i_conn);
|
||||||
|
#endif
|
||||||
|
} else {
|
||||||
|
#ifdef DEBUG_CONN
|
||||||
|
eprintf("## keep connection %d open (keep alive)\n", i_conn);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user