comparison src/core/ngx_file.h @ 362:54fad6c4b555 NGINX_0_6_25

nginx 0.6.25 *) Change: now the "server_name_in_redirect" directive is used instead of the "server_name" directive's special "*" parameter. *) Change: now wildcard and regex names can be used as main name in a "server_name" directive. *) Change: the "satisfy_any" directive was replaced by the "satisfy" directive. *) Workaround: old worker processes might hog CPU after reconfiguration if they was run under Linux OpenVZ. *) Feature: the "min_delete_depth" directive. *) Bugfix: the COPY and MOVE methods did not work with single files. *) Bugfix: the ngx_http_gzip_static_module did not allow the ngx_http_dav_module to work; bug appeared in 0.6.23. *) Bugfix: socket leak in HTTPS mode if deferred accept was used. Thanks to Ben Maurer. *) Bugfix: nginx could not be built without PCRE library; bug appeared in 0.6.23.
author Igor Sysoev <http://sysoev.ru>
date Tue, 08 Jan 2008 00:00:00 +0300
parents b743d290eb3b
children babd3d9efb62
comparison
equal deleted inserted replaced
361:160660bad929 362:54fad6c4b555
55 unsigned persistent:1; 55 unsigned persistent:1;
56 unsigned clean:1; 56 unsigned clean:1;
57 } ngx_temp_file_t; 57 } ngx_temp_file_t;
58 58
59 59
60 typedef struct {
61 ngx_uint_t access;
62 time_t time;
63 ngx_fd_t fd;
64
65 unsigned create_path:1;
66 unsigned delete:1;
67
68 ngx_log_t *log;
69 } ngx_ext_rename_file_t;
70
71
60 typedef struct ngx_tree_ctx_s ngx_tree_ctx_t; 72 typedef struct ngx_tree_ctx_s ngx_tree_ctx_t;
61 73
62 typedef ngx_int_t (*ngx_tree_init_handler_pt) (void *ctx, void *prev); 74 typedef ngx_int_t (*ngx_tree_init_handler_pt) (void *ctx, void *prev);
63 typedef ngx_int_t (*ngx_tree_handler_pt) (ngx_tree_ctx_t *ctx, ngx_str_t *name); 75 typedef ngx_int_t (*ngx_tree_handler_pt) (ngx_tree_ctx_t *ctx, ngx_str_t *name);
64 76
87 void ngx_create_hashed_filename(ngx_path_t *path, u_char *file, size_t len); 99 void ngx_create_hashed_filename(ngx_path_t *path, u_char *file, size_t len);
88 ngx_int_t ngx_create_path(ngx_file_t *file, ngx_path_t *path); 100 ngx_int_t ngx_create_path(ngx_file_t *file, ngx_path_t *path);
89 ngx_err_t ngx_create_full_path(u_char *dir, ngx_uint_t access); 101 ngx_err_t ngx_create_full_path(u_char *dir, ngx_uint_t access);
90 ngx_int_t ngx_add_path(ngx_conf_t *cf, ngx_path_t **slot); 102 ngx_int_t ngx_add_path(ngx_conf_t *cf, ngx_path_t **slot);
91 ngx_int_t ngx_create_pathes(ngx_cycle_t *cycle, ngx_uid_t user); 103 ngx_int_t ngx_create_pathes(ngx_cycle_t *cycle, ngx_uid_t user);
92 ngx_int_t ngx_create_path_and_rename_file(ngx_str_t *src, ngx_str_t *to, 104 ngx_int_t ngx_ext_rename_file(ngx_str_t *src, ngx_str_t *to,
93 ngx_uint_t access, ngx_uint_t full_path, ngx_uint_t delete, ngx_log_t *log); 105 ngx_ext_rename_file_t *ext);
94 ngx_int_t ngx_walk_tree(ngx_tree_ctx_t *ctx, ngx_str_t *tree); 106 ngx_int_t ngx_walk_tree(ngx_tree_ctx_t *ctx, ngx_str_t *tree);
95 107
96 void ngx_init_temp_number(void); 108 void ngx_init_temp_number(void);
97 ngx_atomic_uint_t ngx_next_temp_number(ngx_uint_t collision); 109 ngx_atomic_uint_t ngx_next_temp_number(ngx_uint_t collision);
98 110