diff options
Diffstat (limited to 'src/os/unix/ngx_socket.c')
-rw-r--r-- | src/os/unix/ngx_socket.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/os/unix/ngx_socket.c b/src/os/unix/ngx_socket.c index 48016cb10..8b34c1c17 100644 --- a/src/os/unix/ngx_socket.c +++ b/src/os/unix/ngx_socket.c @@ -55,6 +55,28 @@ int ngx_tcp_push(ngx_socket_t s) (const void *) &tcp_nopush, sizeof(int)); } +#elif __linux__ + +int ngx_tcp_nopush(ngx_socket_t s) +{ + int cork; + + cork = 1; + + return setsockopt(s, IPPROTO_TCP, TCP_CORK, + (const void *) &cork, sizeof(int)); +} + +int ngx_tcp_push(ngx_socket_t s) +{ + int cork; + + cork = 0; + + return setsockopt(s, IPPROTO_TCP, TCP_CORK, + (const void *) &cork, sizeof(int)); +} + #else int ngx_tcp_nopush(ngx_socket_t s) |