Mercurial > hg > nginx-vendor-current
comparison src/os/unix/ngx_files.h @ 662:e5fa0a4a7d27 NGINX_1_1_15
nginx 1.1.15
*) Feature: the "disable_symlinks" directive.
*) Feature: the "proxy_cookie_domain" and "proxy_cookie_path"
directives.
*) Bugfix: nginx might log incorrect error "upstream prematurely closed
connection" instead of correct "upstream sent too big header" one.
Thanks to Feibo Li.
*) Bugfix: nginx could not be built with the ngx_http_perl_module if the
--with-openssl option was used.
*) Bugfix: internal redirects to named locations were not limited.
*) Bugfix: calling $r->flush() multiple times might cause errors in the
ngx_http_gzip_filter_module.
*) Bugfix: temporary files might be not removed if the "proxy_store"
directive were used with SSI includes.
*) Bugfix: in some cases non-cacheable variables (such as the $args
variable) returned old empty cached value.
*) Bugfix: a segmentation fault might occur in a worker process if too
many SSI subrequests were issued simultaneously; the bug had appeared
in 0.7.25.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Wed, 15 Feb 2012 00:00:00 +0400 |
parents | d0f7a625f27c |
children | f5b859b2f097 |
comparison
equal
deleted
inserted
replaced
661:b49c1751031c | 662:e5fa0a4a7d27 |
---|---|
73 #define NGX_FILE_CREATE_OR_OPEN O_CREAT | 73 #define NGX_FILE_CREATE_OR_OPEN O_CREAT |
74 #define NGX_FILE_OPEN 0 | 74 #define NGX_FILE_OPEN 0 |
75 #define NGX_FILE_TRUNCATE O_CREAT|O_TRUNC | 75 #define NGX_FILE_TRUNCATE O_CREAT|O_TRUNC |
76 #define NGX_FILE_APPEND O_WRONLY|O_APPEND | 76 #define NGX_FILE_APPEND O_WRONLY|O_APPEND |
77 #define NGX_FILE_NONBLOCK O_NONBLOCK | 77 #define NGX_FILE_NONBLOCK O_NONBLOCK |
78 | |
79 #if (NGX_HAVE_OPENAT) | |
80 #define NGX_FILE_NOFOLLOW O_NOFOLLOW | |
81 #endif | |
78 | 82 |
79 #define NGX_FILE_DEFAULT_ACCESS 0644 | 83 #define NGX_FILE_DEFAULT_ACCESS 0644 |
80 #define NGX_FILE_OWNER_ACCESS 0600 | 84 #define NGX_FILE_OWNER_ACCESS 0600 |
81 | 85 |
82 | 86 |
322 #endif | 326 #endif |
323 | 327 |
324 size_t ngx_fs_bsize(u_char *name); | 328 size_t ngx_fs_bsize(u_char *name); |
325 | 329 |
326 | 330 |
331 #if (NGX_HAVE_OPENAT) | |
332 | |
333 #define ngx_openat_file(fd, name, mode, create, access) \ | |
334 openat(fd, (const char *) name, mode|create, access) | |
335 | |
336 #define ngx_openat_file_n "openat()" | |
337 | |
338 #define ngx_file_at_info(fd, name, sb, flag) \ | |
339 fstatat(fd, (const char *) name, sb, flag) | |
340 | |
341 #define ngx_file_at_info_n "fstatat()" | |
342 | |
343 #endif | |
344 | |
345 | |
327 #define ngx_stderr STDERR_FILENO | 346 #define ngx_stderr STDERR_FILENO |
328 #define ngx_set_stderr(fd) dup2(fd, STDERR_FILENO) | 347 #define ngx_set_stderr(fd) dup2(fd, STDERR_FILENO) |
329 #define ngx_set_stderr_n "dup2(STDERR_FILENO)" | 348 #define ngx_set_stderr_n "dup2(STDERR_FILENO)" |
330 | 349 |
331 | 350 |