Mercurial > hg > nginx-vendor-current
comparison src/core/ngx_file.h @ 276:c5c2b2883984 NGINX_0_5_8
nginx 0.5.8
*) Bugfix: a segmentation fault might occur if
"client_body_in_file_only on" was used and a request body was small.
*) Bugfix: a segmentation fault occurred if
"client_body_in_file_only on" and "proxy_pass_request_body off" or
"fastcgi_pass_request_body off" directives were used, and nginx
switched to a next upstream.
*) Bugfix: if the "proxy_buffering off" directive was used and a client
connection was non-active, then the connection was closed after send
timeout; bug appeared in 0.4.7.
*) Bugfix: if the "epoll" method was used and a client closed a
connection prematurely, then nginx closed the connection after a
send timeout only.
*) Bugfix: the "[alert] zero size buf" error when FastCGI server was
used.
*) Bugfixes in the "limit_zone" directive.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Fri, 19 Jan 2007 00:00:00 +0300 |
parents | 29a6403156b0 |
children | 704622b2528a |
comparison
equal
deleted
inserted
replaced
275:1779577cb845 | 276:c5c2b2883984 |
---|---|
47 off_t offset; | 47 off_t offset; |
48 ngx_path_t *path; | 48 ngx_path_t *path; |
49 ngx_pool_t *pool; | 49 ngx_pool_t *pool; |
50 char *warn; | 50 char *warn; |
51 | 51 |
52 ngx_uint_t mode; | 52 ngx_uint_t access; |
53 | 53 |
54 unsigned log_level:8; | 54 unsigned log_level:8; |
55 unsigned persistent:1; | 55 unsigned persistent:1; |
56 } ngx_temp_file_t; | 56 } ngx_temp_file_t; |
57 | 57 |
58 | 58 |
59 typedef struct ngx_tree_ctx_s ngx_tree_ctx_t; | 59 typedef struct ngx_tree_ctx_s ngx_tree_ctx_t; |
60 | 60 |
61 typedef ngx_int_t (*ngx_tree_init_handler_pt) (ngx_tree_ctx_t *ctx, | 61 typedef ngx_int_t (*ngx_tree_init_handler_pt) (void *ctx, void *prev); |
62 ngx_tree_ctx_t *prev); | |
63 typedef ngx_int_t (*ngx_tree_handler_pt) (ngx_tree_ctx_t *ctx, ngx_str_t *name); | 62 typedef ngx_int_t (*ngx_tree_handler_pt) (ngx_tree_ctx_t *ctx, ngx_str_t *name); |
64 | 63 |
65 struct ngx_tree_ctx_s { | 64 struct ngx_tree_ctx_s { |
65 off_t size; | |
66 ngx_uint_t access; | |
67 time_t mtime; | |
68 | |
66 ngx_tree_init_handler_pt init_handler; | 69 ngx_tree_init_handler_pt init_handler; |
67 ngx_tree_handler_pt file_handler; | 70 ngx_tree_handler_pt file_handler; |
68 ngx_tree_handler_pt pre_tree_handler; | 71 ngx_tree_handler_pt pre_tree_handler; |
69 ngx_tree_handler_pt post_tree_handler; | 72 ngx_tree_handler_pt post_tree_handler; |
70 ngx_tree_handler_pt spec_handler; | 73 ngx_tree_handler_pt spec_handler; |
74 | |
71 void *data; | 75 void *data; |
72 size_t size; | 76 size_t alloc; |
77 | |
73 ngx_log_t *log; | 78 ngx_log_t *log; |
74 }; | 79 }; |
75 | 80 |
76 | 81 |
77 ssize_t ngx_write_chain_to_temp_file(ngx_temp_file_t *tf, ngx_chain_t *chain); | 82 ssize_t ngx_write_chain_to_temp_file(ngx_temp_file_t *tf, ngx_chain_t *chain); |
78 ngx_int_t ngx_create_temp_file(ngx_file_t *file, ngx_path_t *path, | 83 ngx_int_t ngx_create_temp_file(ngx_file_t *file, ngx_path_t *path, |
79 ngx_pool_t *pool, ngx_uint_t persistent,ngx_uint_t mode); | 84 ngx_pool_t *pool, ngx_uint_t persistent,ngx_uint_t access); |
80 void ngx_create_hashed_filename(ngx_file_t *file, ngx_path_t *path); | 85 void ngx_create_hashed_filename(ngx_file_t *file, ngx_path_t *path); |
81 ngx_int_t ngx_create_path(ngx_file_t *file, ngx_path_t *path); | 86 ngx_int_t ngx_create_path(ngx_file_t *file, ngx_path_t *path); |
82 ngx_err_t ngx_create_full_path(u_char *dir, ngx_uint_t access); | 87 ngx_err_t ngx_create_full_path(u_char *dir, ngx_uint_t access); |
83 ngx_int_t ngx_add_path(ngx_conf_t *cf, ngx_path_t **slot); | 88 ngx_int_t ngx_add_path(ngx_conf_t *cf, ngx_path_t **slot); |
84 ngx_int_t ngx_create_pathes(ngx_cycle_t *cycle, ngx_uid_t user); | 89 ngx_int_t ngx_create_pathes(ngx_cycle_t *cycle, ngx_uid_t user); |