|
|
@@ -271,8 +271,8 @@ g_gate_recv(int s, void *buf, size_t len, int flags) |
|
|
|
} |
|
|
|
|
|
|
|
int nagle = 1; |
|
|
|
unsigned rcvbuf = G_GATE_RCVBUF; |
|
|
|
unsigned sndbuf = G_GATE_SNDBUF; |
|
|
|
unsigned rcvbuf = 0; |
|
|
|
unsigned sndbuf = 0; |
|
|
|
|
|
|
|
void |
|
|
|
g_gate_socket_settings(int sfd) |
|
|
@@ -290,12 +290,16 @@ g_gate_socket_settings(int sfd) |
|
|
|
} |
|
|
|
if (setsockopt(sfd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)) == -1) |
|
|
|
g_gate_xlog("setsockopt(SO_REUSEADDR): %s.", strerror(errno)); |
|
|
|
bsize = rcvbuf; |
|
|
|
if (setsockopt(sfd, SOL_SOCKET, SO_RCVBUF, &bsize, sizeof(bsize)) == -1) |
|
|
|
g_gate_xlog("setsockopt(SO_RCVBUF): %s.", strerror(errno)); |
|
|
|
bsize = sndbuf; |
|
|
|
if (setsockopt(sfd, SOL_SOCKET, SO_SNDBUF, &bsize, sizeof(bsize)) == -1) |
|
|
|
g_gate_xlog("setsockopt(SO_SNDBUF): %s.", strerror(errno)); |
|
|
|
if (rcvbuf != 0) { |
|
|
|
bsize = rcvbuf; |
|
|
|
if (setsockopt(sfd, SOL_SOCKET, SO_RCVBUF, &bsize, sizeof(bsize)) == -1) |
|
|
|
g_gate_xlog("setsockopt(SO_RCVBUF): %s.", strerror(errno)); |
|
|
|
} |
|
|
|
if (sndbuf != 0) { |
|
|
|
bsize = sndbuf; |
|
|
|
if (setsockopt(sfd, SOL_SOCKET, SO_SNDBUF, &bsize, sizeof(bsize)) == -1) |
|
|
|
g_gate_xlog("setsockopt(SO_SNDBUF): %s.", strerror(errno)); |
|
|
|
} |
|
|
|
tv.tv_sec = 8; |
|
|
|
tv.tv_usec = 0; |
|
|
|
if (setsockopt(sfd, SOL_SOCKET, SO_SNDTIMEO, &tv, sizeof(tv)) == -1) { |
|
|
|