comparison src/core/ngx_cycle.h @ 22:8b6db3bda591 NGINX_0_1_11

nginx 0.1.11 *) Feature: the worker_priority directive. *) Change: both tcp_nopush and tcp_nodelay directives affect the transferred response. *) Bugfix: nginx did not call initgroups(). Thanks to Andrew Sitnikov and Andrei Nigmatulin. *) Change: now the ngx_http_autoindex_module shows the file size in the bytes. *) Bugfix: the ngx_http_autoindex_module returned the 500 error if the broken symlink was in a directory. *) Bugfix: the files bigger than 4G could not be transferred using sendfile. *) Bugfix: if the backend was resolved to several backends and there was an error while the response waiting then process may got caught in an endless loop. *) Bugfix: the worker process may exit with the "unknown cycle" message when the /dev/poll method was used. *) Bugfix: "close() channel failed" errors. *) Bugfix: the autodetection of the "nobody" and "nogroup" groups. *) Bugfix: the send_lowat directive did not work on Linux. *) Bugfix: the segmentation fault occurred if there was no events section in configuration. *) Bugfix: nginx could not be built on OpenBSD. *) Bugfix: the double slashes in "://" in the URI were converted to ":/".
author Igor Sysoev <http://sysoev.ru>
date Thu, 02 Dec 2004 00:00:00 +0300
parents 46833bd150cb
children 3050baa54a26
comparison
equal deleted inserted replaced
21:4eeb9cfef970 22:8b6db3bda591
15 #define NGX_DEBUG_POINTS_STOP 1 15 #define NGX_DEBUG_POINTS_STOP 1
16 #define NGX_DEBUG_POINTS_ABORT 2 16 #define NGX_DEBUG_POINTS_ABORT 2
17 17
18 18
19 struct ngx_cycle_s { 19 struct ngx_cycle_s {
20 void ****conf_ctx; 20 void ****conf_ctx;
21 ngx_pool_t *pool; 21 ngx_pool_t *pool;
22 22
23 ngx_log_t *log; 23 ngx_log_t *log;
24 ngx_log_t *new_log; 24 ngx_log_t *new_log;
25 25
26 ngx_array_t listening; 26 ngx_array_t listening;
27 ngx_array_t pathes; 27 ngx_array_t pathes;
28 ngx_list_t open_files; 28 ngx_list_t open_files;
29 29
30 ngx_uint_t connection_n; 30 ngx_uint_t connection_n;
31 ngx_connection_t *connections; 31 ngx_connection_t *connections;
32 ngx_event_t *read_events; 32 ngx_event_t *read_events;
33 ngx_event_t *write_events; 33 ngx_event_t *write_events;
34 34
35 ngx_cycle_t *old_cycle; 35 ngx_cycle_t *old_cycle;
36 36
37 ngx_str_t conf_file; 37 ngx_str_t conf_file;
38 ngx_str_t root; 38 ngx_str_t root;
39 }; 39 };
40 40
41 41
42 typedef struct { 42 typedef struct {
43 ngx_flag_t daemon; 43 ngx_flag_t daemon;
44 ngx_flag_t master; 44 ngx_flag_t master;
45 45
46 ngx_int_t worker_processes; 46 ngx_int_t worker_processes;
47 ngx_int_t debug_points; 47 ngx_int_t debug_points;
48 48
49 ngx_uid_t user; 49 int priority;
50 ngx_gid_t group;
51 50
52 ngx_str_t pid; 51 char *username;
53 ngx_str_t newpid; 52 ngx_uid_t user;
53 ngx_gid_t group;
54
55 ngx_str_t pid;
56 ngx_str_t newpid;
54 57
55 #if (NGX_THREADS) 58 #if (NGX_THREADS)
56 ngx_int_t worker_threads; 59 ngx_int_t worker_threads;
57 size_t thread_stack_size; 60 size_t thread_stack_size;
58 #endif 61 #endif
59 62
60 } ngx_core_conf_t; 63 } ngx_core_conf_t;
61 64
62 65
63 typedef struct { 66 typedef struct {
64 ngx_pool_t *pool; /* pcre's malloc() pool */ 67 ngx_pool_t *pool; /* pcre's malloc() pool */
65 } ngx_core_tls_t; 68 } ngx_core_tls_t;
66 69
67 70
68 ngx_cycle_t *ngx_init_cycle(ngx_cycle_t *old_cycle); 71 ngx_cycle_t *ngx_init_cycle(ngx_cycle_t *old_cycle);
69 ngx_int_t ngx_create_pidfile(ngx_cycle_t *cycle, ngx_cycle_t *old_cycle); 72 ngx_int_t ngx_create_pidfile(ngx_cycle_t *cycle, ngx_cycle_t *old_cycle);