diff options
author | Igor Sysoev <igor@sysoev.ru> | 2005-01-18 13:04:59 +0000 |
---|---|---|
committer | Jonathan Kolb <jon@b0g.us> | 2005-01-18 13:04:59 +0000 |
commit | ea4ca08e7943c38b774ed275f09176d59be23542 (patch) | |
tree | efdb5de0c8e25f85ca142604fc698249ab6ddfe3 /src/os | |
parent | d402b9e1039f9b3a28d0fb4fab546e743e4aea37 (diff) | |
download | nginx-ea4ca08e7943c38b774ed275f09176d59be23542.tar.gz |
Changes with nginx 0.1.14 18 Jan 2005v0.1.14
*) Feature: the autoconfiguration directives:
--http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH, and
--http-fastcgi-temp-path=PATH
*) Change: the directory name for the temporary files with the client
request body is specified by directive client_body_temp_path, by
default it is <prefix>/client_body_temp.
*) Feature: the ngx_http_fastcgi_module and the directives: fastcgi_pass,
fastcgi_root, fastcgi_index, fastcgi_params, fastcgi_connect_timeout,
fastcgi_send_timeout, fastcgi_read_timeout, fastcgi_send_lowat,
fastcgi_header_buffer_size, fastcgi_buffers,
fastcgi_busy_buffers_size, fastcgi_temp_path,
fastcgi_max_temp_file_size, fastcgi_temp_file_write_size,
fastcgi_next_upstream, and fastcgi_x_powered_by.
*) Bugfix: the "[alert] zero size buf" error; bug appeared in 0.1.3.
*) Change: the URI must be specified after the host name in the
proxy_pass directive.
*) Change: the %3F symbol in the URI was considered as the argument
string start.
*) Feature: the unix domain sockets support in the ngx_http_proxy_module.
*) Feature: the ssl_engine and ssl_ciphers directives.
Thanks to Sergey Skvortsov for SSL-accelerator.
Diffstat (limited to 'src/os')
-rw-r--r-- | src/os/unix/ngx_freebsd_config.h | 1 | ||||
-rw-r--r-- | src/os/unix/ngx_freebsd_sendfile_chain.c | 20 | ||||
-rw-r--r-- | src/os/unix/ngx_linux_config.h | 1 | ||||
-rw-r--r-- | src/os/unix/ngx_linux_sendfile_chain.c | 20 | ||||
-rw-r--r-- | src/os/unix/ngx_posix_config.h | 1 | ||||
-rw-r--r-- | src/os/unix/ngx_process_cycle.c | 2 | ||||
-rw-r--r-- | src/os/unix/ngx_solaris_config.h | 1 |
7 files changed, 29 insertions, 17 deletions
diff --git a/src/os/unix/ngx_freebsd_config.h b/src/os/unix/ngx_freebsd_config.h index 35bf1f502..a61eeed7d 100644 --- a/src/os/unix/ngx_freebsd_config.h +++ b/src/os/unix/ngx_freebsd_config.h @@ -37,6 +37,7 @@ #include <netinet/tcp.h> /* TCP_NODELAY, TCP_NOPUSH */ #include <arpa/inet.h> #include <netdb.h> +#include <sys/un.h> #include <libutil.h> /* setproctitle() before 4.1 */ #include <osreldate.h> diff --git a/src/os/unix/ngx_freebsd_sendfile_chain.c b/src/os/unix/ngx_freebsd_sendfile_chain.c index 521d05082..0b4dfc0d0 100644 --- a/src/os/unix/ngx_freebsd_sendfile_chain.c +++ b/src/os/unix/ngx_freebsd_sendfile_chain.c @@ -10,16 +10,16 @@ /* - * Although FreeBSD sendfile() allows to pass a header and a trailer + * Although FreeBSD sendfile() allows to pass a header and a trailer, * it can not send a header with a part of the file in one packet until - * FreeBSD 5.3. Besides over the fast ethernet connection sendfile() + * FreeBSD 5.3. Besides, over the fast ethernet connection sendfile() * may send the partially filled packets, i.e. the 8 file pages may be sent * as the 11 full 1460-bytes packets, then one incomplete 324-bytes packet, * and then again the 11 full 1460-bytes packets. * - * So we use the TCP_NOPUSH option (similar to Linux's TCP_CORK) - * to postpone the sending - it not only sends a header and the first part - * of the file in one packet but also sends the file pages in the full packets. + * Threfore we use the TCP_NOPUSH option (similar to Linux's TCP_CORK) + * to postpone the sending - it not only sends a header and the first part of + * the file in one packet, but also sends the file pages in the full packets. * * But until FreeBSD 4.5 the turning TCP_NOPUSH off does not flush a pending * data that less than MSS so that data may be sent with 5 second delay. @@ -220,7 +220,7 @@ ngx_chain_t *ngx_freebsd_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in, err = ngx_errno; /* - * there is a tiny chance to be interrupted, however + * there is a tiny chance to be interrupted, however, * we continue a processing without the TCP_NOPUSH */ @@ -249,7 +249,7 @@ ngx_chain_t *ngx_freebsd_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in, * http://www.freebsd.org/cgi/query-pr.cgi?pr=33771 */ - if (ngx_freebsd_sendfile_nbytes_bug == 0) { + if (!ngx_freebsd_sendfile_nbytes_bug) { header_size = 0; } @@ -282,7 +282,7 @@ ngx_chain_t *ngx_freebsd_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in, if (rc == 0 && sent == 0) { /* - * rc and sent are equals to zero when someone has truncated + * rc and sent equal to zero when someone has truncated * the file, so the offset became beyond the end of the file */ @@ -370,8 +370,8 @@ ngx_chain_t *ngx_freebsd_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in, if (eagain) { /* - * sendfile() can return EAGAIN even if it has sent - * a whole file part but the successive sendfile() call would + * sendfile() may return EAGAIN, even if it has sent a whole file + * part, it indicates that the successive sendfile() call would * return EAGAIN right away and would not send anything. * We use it as a hint. */ diff --git a/src/os/unix/ngx_linux_config.h b/src/os/unix/ngx_linux_config.h index bb08f41e3..35e3b8b73 100644 --- a/src/os/unix/ngx_linux_config.h +++ b/src/os/unix/ngx_linux_config.h @@ -42,6 +42,7 @@ #include <netinet/tcp.h> /* TCP_NODELAY, TCP_CORK */ #include <arpa/inet.h> #include <netdb.h> +#include <sys/un.h> #include <time.h> /* tzset() */ #include <malloc.h> /* memalign() */ diff --git a/src/os/unix/ngx_linux_sendfile_chain.c b/src/os/unix/ngx_linux_sendfile_chain.c index 99599e231..59bc59c76 100644 --- a/src/os/unix/ngx_linux_sendfile_chain.c +++ b/src/os/unix/ngx_linux_sendfile_chain.c @@ -11,9 +11,10 @@ /* * On Linux up to 2.4.21 sendfile() (syscall #187) works with 32-bit - * offsets only and the including <sys/sendfile.h> breaks the compiling - * if off_t is 64 bit wide. So we use own sendfile() definition where offset - * parameter is int32_t and use sendfile() for the file parts below 2G only. + * offsets only, and the including <sys/sendfile.h> breaks the compiling, + * if off_t is 64 bit wide. So we use own sendfile() definition, where offset + * parameter is int32_t, and use sendfile() for the file parts below 2G only, + * see src/os/unix/ngx_linux_config.h * * Linux 2.4.21 has a new sendfile64() syscall #239. */ @@ -85,6 +86,14 @@ ngx_chain_t *ngx_linux_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in, continue; } +#if 1 + if (!ngx_buf_in_memory(cl->buf) && !cl->buf->in_file) { + ngx_log_error(NGX_LOG_ALERT, c->log, 0, + "zero size buf in sendfile"); + ngx_debug_point(); + } +#endif + if (!ngx_buf_in_memory_only(cl->buf)) { break; } @@ -118,7 +127,6 @@ ngx_chain_t *ngx_linux_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in, && cl && cl->buf->in_file) { - /* the TCP_CORK and TCP_NODELAY are mutually exclusive */ if (c->tcp_nodelay) { @@ -131,7 +139,7 @@ ngx_chain_t *ngx_linux_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in, err = ngx_errno; /* - * there is a tiny chance to be interrupted, however + * there is a tiny chance to be interrupted, however, * we continue a processing with the TCP_NODELAY * and without the TCP_CORK */ @@ -157,7 +165,7 @@ ngx_chain_t *ngx_linux_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in, err = ngx_errno; /* - * there is a tiny chance to be interrupted, however + * there is a tiny chance to be interrupted, however, * we continue a processing without the TCP_CORK */ diff --git a/src/os/unix/ngx_posix_config.h b/src/os/unix/ngx_posix_config.h index f9c91a4bf..904060e76 100644 --- a/src/os/unix/ngx_posix_config.h +++ b/src/os/unix/ngx_posix_config.h @@ -57,6 +57,7 @@ #include <netinet/tcp.h> /* TCP_NODELAY */ #include <arpa/inet.h> #include <netdb.h> +#include <sys/un.h> #if (NGX_HAVE_LIMITS_H) #include <limits.h> /* IOV_MAX */ diff --git a/src/os/unix/ngx_process_cycle.c b/src/os/unix/ngx_process_cycle.c index d1be6f4ea..a48880914 100644 --- a/src/os/unix/ngx_process_cycle.c +++ b/src/os/unix/ngx_process_cycle.c @@ -1113,7 +1113,7 @@ static void ngx_garbage_collector_cycle(ngx_cycle_t *cycle, void *data) for (i = 0; i < cycle->pathes.nelts; i++) { ctx.path = path[i]; ctx.log = cycle->log; - ctx.handler = path[i]->gc_handler; + ctx.handler = path[i]->cleaner; ngx_collect_garbage(&ctx, &path[i]->name, 0); } diff --git a/src/os/unix/ngx_solaris_config.h b/src/os/unix/ngx_solaris_config.h index e387006da..d629e046b 100644 --- a/src/os/unix/ngx_solaris_config.h +++ b/src/os/unix/ngx_solaris_config.h @@ -41,6 +41,7 @@ #include <netinet/tcp.h> /* TCP_NODELAY */ #include <arpa/inet.h> #include <netdb.h> +#include <sys/un.h> #include <sys/systeminfo.h> #include <limits.h> /* IOV_MAX */ |