mirror of
https://github.com/3proxy/3proxy.git
synced 2025-04-21 19:52:08 +08:00
set linger close to setsockopt
This commit is contained in:
parent
c716c67da2
commit
862405bdfd
@ -551,6 +551,8 @@ int MODULEMAINFUNC (int argc, char** argv){
|
|||||||
if(inetd) {
|
if(inetd) {
|
||||||
fcntl(0,F_SETFL,O_NONBLOCK | fcntl(0,F_GETFL));
|
fcntl(0,F_SETFL,O_NONBLOCK | fcntl(0,F_GETFL));
|
||||||
if(!isudp){
|
if(!isudp){
|
||||||
|
lg.l_onoff = 1;
|
||||||
|
lg.l_linger = conf.timeouts[STRING_L];
|
||||||
so._setsockopt(0, SOL_SOCKET, SO_LINGER, (unsigned char *)&lg, sizeof(lg));
|
so._setsockopt(0, SOL_SOCKET, SO_LINGER, (unsigned char *)&lg, sizeof(lg));
|
||||||
so._setsockopt(0, SOL_SOCKET, SO_OOBINLINE, (unsigned char *)&opt, sizeof(int));
|
so._setsockopt(0, SOL_SOCKET, SO_OOBINLINE, (unsigned char *)&opt, sizeof(int));
|
||||||
}
|
}
|
||||||
@ -592,8 +594,6 @@ int MODULEMAINFUNC (int argc, char** argv){
|
|||||||
if(srv.srvsock == INVALID_SOCKET){
|
if(srv.srvsock == INVALID_SOCKET){
|
||||||
|
|
||||||
if(!isudp){
|
if(!isudp){
|
||||||
lg.l_onoff = 1;
|
|
||||||
lg.l_linger = conf.timeouts[STRING_L];
|
|
||||||
sock=so._socket(SASOCK(&srv.intsa), SOCK_STREAM, IPPROTO_TCP);
|
sock=so._socket(SASOCK(&srv.intsa), SOCK_STREAM, IPPROTO_TCP);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -813,6 +813,9 @@ int MODULEMAINFUNC (int argc, char** argv){
|
|||||||
#else
|
#else
|
||||||
fcntl(new_sock,F_SETFL,O_NONBLOCK | fcntl(new_sock,F_GETFL));
|
fcntl(new_sock,F_SETFL,O_NONBLOCK | fcntl(new_sock,F_GETFL));
|
||||||
#endif
|
#endif
|
||||||
|
lg.l_onoff = 1;
|
||||||
|
lg.l_linger = conf.timeouts[STRING_L];
|
||||||
|
|
||||||
so._setsockopt(new_sock, SOL_SOCKET, SO_LINGER, (char *)&lg, sizeof(lg));
|
so._setsockopt(new_sock, SOL_SOCKET, SO_LINGER, (char *)&lg, sizeof(lg));
|
||||||
so._setsockopt(new_sock, SOL_SOCKET, SO_OOBINLINE, (char *)&opt, sizeof(int));
|
so._setsockopt(new_sock, SOL_SOCKET, SO_OOBINLINE, (char *)&opt, sizeof(int));
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user