mirror of
https://github.com/3proxy/3proxy.git
synced 2026-08-13 20:29:15 +08:00
Restore half-close support by default (accidentally switched off in previous fixes)
This commit is contained in:
parent
207ddb7f02
commit
e7bc76da73
@ -201,11 +201,14 @@ for most traffic. Rebuild with -DWITHSPLICE to make -s available, -s0 disables i
|
||||
explicitly.
|
||||
.br
|
||||
.B -C
|
||||
(for TCP services) keep the session until both sides close the connection
|
||||
(TCP half-close). By default a connection closed by any of the sides terminates
|
||||
the session, buffered data is delivered before the sockets are closed. Half-close
|
||||
is required for the protocols where one of the sides closes its sending side and
|
||||
expects the answer, it may cause the sockets to be kept in CLOSE_WAIT state.
|
||||
(for TCP services) a connection closed by any of the sides terminates the
|
||||
session, buffered data is delivered before the sockets are closed. By default
|
||||
the session is kept until both sides close the connection (TCP half-close).
|
||||
Half-close is required for the protocols where one of the sides closes its
|
||||
sending side and expects the answer, but it keeps the socket of the side which
|
||||
has already closed the connection in CLOSE_WAIT state. Use -C to close both
|
||||
sockets as soon as any of the sides closes the connection, -C1 to request
|
||||
the default behaviour explicitly.
|
||||
.br
|
||||
(for dnspr) simple, do not use resolver and 3proxy cache, always use external DNS server.
|
||||
.br
|
||||
|
||||
@ -329,8 +329,8 @@ int MODULEMAINFUNC (int argc, char** argv){
|
||||
#endif
|
||||
#ifdef WITHSPLICE
|
||||
" -s Use splice() - no filtering for data, off by default\n"
|
||||
" -C keep the session until both sides close the connection (TCP half-close),\n"
|
||||
" by default connection closed by any of the sides terminates the session\n"
|
||||
" -C connection closed by any of the sides terminates the session, by default\n"
|
||||
" the session is kept until both sides close it (TCP half-close)\n"
|
||||
#endif
|
||||
"-g(GRACE_TRAFF,GRACE_NUM,GRACE_DELAY) - delay GRACE_DELAY milliseconds before polling if average polling size below GRACE_TRAFF bytes and GRACE_NUM read operations in single directions are detected within 1 second to minimize polling\n"
|
||||
" -fFORMAT logging format (see documentation)\n"
|
||||
@ -599,7 +599,7 @@ int MODULEMAINFUNC (int argc, char** argv){
|
||||
sscanf(argv[i]+2, "%d,%d,%d", &srv.gracetraf, &srv.gracenum, &srv.gracedelay);
|
||||
break;
|
||||
case 'C':
|
||||
srv.halfclose = *(argv[i]+2)? atoi(argv[i]+2) : 1;
|
||||
srv.halfclose = *(argv[i]+2)? atoi(argv[i]+2) : 0;
|
||||
break;
|
||||
case 's':
|
||||
#ifdef WITHSPLICE
|
||||
@ -1252,7 +1252,7 @@ void srvinit(struct srvparam * srv, struct clientparam *param){
|
||||
#ifdef WITHSPLICE
|
||||
srv->usesplice = 0;
|
||||
#endif
|
||||
srv->halfclose = 0;
|
||||
srv->halfclose = 1;
|
||||
memset(param, 0, sizeof(struct clientparam));
|
||||
param->srv = srv;
|
||||
param->version = srv->version;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user