Mercurial > hg > nginx-vendor-current
view src/os/unix/ngx_socket.h @ 236:c982febb7588 NGINX_0_4_3
nginx 0.4.3
*) Change: now the 499 error could not be redirected using an
"error_page" directive.
*) Feature: the Solaris 10 event ports support.
*) Feature: the ngx_http_browser_module.
*) Bugfix: a segmentation fault may occur while redirecting the 400
error to the proxied server using an "proxy_pass" directive.
*) Bugfix: a segmentation fault occurred if an unix domain socket was
used in an "proxy_pass" directive; bug appeared in 0.3.47.
*) Bugfix: SSI did work with memcached and nonbuffered responses.
*) Workaround: of the Sun Studio PAUSE hardware capability bug.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Tue, 26 Sep 2006 00:00:00 +0400 |
parents | 003bd800ec2a |
children | d0f7a625f27c |
line wrap: on
line source
/* * Copyright (C) Igor Sysoev */ #ifndef _NGX_SOCKET_H_INCLUDED_ #define _NGX_SOCKET_H_INCLUDED_ #include <ngx_config.h> #define NGX_WRITE_SHUTDOWN SHUT_WR typedef int ngx_socket_t; #define ngx_socket socket #define ngx_socket_n "socket()" #if (NGX_HAVE_FIONBIO) int ngx_nonblocking(ngx_socket_t s); int ngx_blocking(ngx_socket_t s); #define ngx_nonblocking_n "ioctl(FIONBIO)" #define ngx_blocking_n "ioctl(!FIONBIO)" #else #define ngx_nonblocking(s) fcntl(s, F_SETFL, fcntl(s, F_GETFL) | O_NONBLOCK) #define ngx_nonblocking_n "fcntl(O_NONBLOCK)" #define ngx_blocking(s) fcntl(s, F_SETFL, fcntl(s, F_GETFL) & ~O_NONBLOCK) #define ngx_blocking_n "fcntl(!O_NONBLOCK)" #endif int ngx_tcp_nopush(ngx_socket_t s); int ngx_tcp_push(ngx_socket_t s); #if (NGX_LINUX) #define ngx_tcp_nopush_n "setsockopt(TCP_CORK)" #define ngx_tcp_push_n "setsockopt(!TCP_CORK)" #else #define ngx_tcp_nopush_n "setsockopt(TCP_NOPUSH)" #define ngx_tcp_push_n "setsockopt(!TCP_NOPUSH)" #endif #define ngx_shutdown_socket shutdown #define ngx_shutdown_socket_n "shutdown()" #define ngx_close_socket close #define ngx_close_socket_n "close() socket" #endif /* _NGX_SOCKET_H_INCLUDED_ */