This source file includes following definitions.
- ngx_nonblocking
- ngx_blocking
- ngx_tcp_nopush
- ngx_tcp_push
- ngx_tcp_nopush
- ngx_tcp_push
- ngx_tcp_nopush
- ngx_tcp_push
#include <ngx_config.h>
#include <ngx_core.h>
#if (NGX_HAVE_FIONBIO)
int
ngx_nonblocking(ngx_socket_t s)
{
int nb;
nb = 1;
return ioctl(s, FIONBIO, &nb);
}
int
ngx_blocking(ngx_socket_t s)
{
int nb;
nb = 0;
return ioctl(s, FIONBIO, &nb);
}
#endif
#if (NGX_FREEBSD)
int
ngx_tcp_nopush(ngx_socket_t s)
{
int tcp_nopush;
tcp_nopush = 1;
return setsockopt(s, IPPROTO_TCP, TCP_NOPUSH,
(const void *) &tcp_nopush, sizeof(int));
}
int
ngx_tcp_push(ngx_socket_t s)
{
int tcp_nopush;
tcp_nopush = 0;
return setsockopt(s, IPPROTO_TCP, TCP_NOPUSH,
(const void *) &tcp_nopush, sizeof(int));
}
#elif (NGX_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)
{
return 0;
}
int
ngx_tcp_push(ngx_socket_t s)
{
return 0;
}
#endif