Mercurial > hg > nginx
comparison src/os/unix/ngx_freebsd_rfork_thread.h @ 563:9c2f3ed7a247 release-0.3.3
nginx-0.3.3-RELEASE import
*) Change: the "bl" and "af" parameters of the "listen" directive was
renamed to the "backlog" and "accept_filter".
*) Feature: the "rcvbuf" and "sndbuf" parameters of the "listen"
directive.
*) Change: the "$msec" log parameter does not require now the
additional the gettimeofday() system call.
*) Feature: the -t switch now tests the "listen" directives.
*) Bugfix: if the invalid address was specified in the "listen"
directive, then after the -HUP signal nginx left an open socket in
the CLOSED state.
*) Bugfix: the mime type may be incorrectly set to default value for
index file with variable in the name; the bug had appeared in 0.3.0.
*) Feature: the "timer_resolution" directive.
*) Feature: the millisecond "$upstream_response_time" log parameter.
*) Bugfix: a temporary file with client request body now is removed
just after the response header was transferred to a client.
*) Bugfix: OpenSSL 0.9.6 compatibility.
*) Bugfix: the SSL certificate and key file paths could not be relative.
*) Bugfix: the "ssl_prefer_server_ciphers" directive did not work in
the ngx_imap_ssl_module.
*) Bugfix: the "ssl_protocols" directive allowed to specify the single
protocol only.
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Wed, 19 Oct 2005 12:33:58 +0000 |
parents | c1f965ef9718 |
children | 4d9ea73a627a |
comparison
equal
deleted
inserted
replaced
562:4b6108f69026 | 563:9c2f3ed7a247 |
---|---|
53 | 53 |
54 extern char *ngx_freebsd_kern_usrstack; | 54 extern char *ngx_freebsd_kern_usrstack; |
55 extern size_t ngx_thread_stack_size; | 55 extern size_t ngx_thread_stack_size; |
56 | 56 |
57 | 57 |
58 static ngx_inline ngx_int_t ngx_gettid() | 58 static ngx_inline ngx_int_t |
59 ngx_gettid() | |
59 { | 60 { |
60 char *sp; | 61 char *sp; |
61 | 62 |
62 if (ngx_thread_stack_size == 0) { | 63 if (ngx_thread_stack_size == 0) { |
63 return 0; | 64 return 0; |
95 | 96 |
96 ngx_err_t ngx_thread_set_tls(ngx_tls_key_t key, void *value); | 97 ngx_err_t ngx_thread_set_tls(ngx_tls_key_t key, void *value); |
97 #define ngx_thread_set_tls_n "the tls key setting" | 98 #define ngx_thread_set_tls_n "the tls key setting" |
98 | 99 |
99 | 100 |
100 static void *ngx_thread_get_tls(ngx_tls_key_t key) | 101 static void * |
102 ngx_thread_get_tls(ngx_tls_key_t key) | |
101 { | 103 { |
102 if (key >= NGX_THREAD_KEYS_MAX) { | 104 if (key >= NGX_THREAD_KEYS_MAX) { |
103 return NULL; | 105 return NULL; |
104 } | 106 } |
105 | 107 |
106 return ngx_tls[key * NGX_THREAD_KEYS_MAX + ngx_gettid()]; | 108 return ngx_tls[key * NGX_THREAD_KEYS_MAX + ngx_gettid()]; |
107 } | 109 } |
108 | 110 |
109 | 111 |
110 #define ngx_mutex_trylock(m) ngx_mutex_dolock(m, 1) | 112 #define ngx_mutex_trylock(m) ngx_mutex_dolock(m, 1) |
111 #define ngx_mutex_lock(m) ngx_mutex_dolock(m, 0) | 113 #define ngx_mutex_lock(m) (void) ngx_mutex_dolock(m, 0) |
112 ngx_int_t ngx_mutex_dolock(ngx_mutex_t *m, ngx_int_t try); | 114 ngx_int_t ngx_mutex_dolock(ngx_mutex_t *m, ngx_int_t try); |
113 ngx_int_t ngx_mutex_unlock(ngx_mutex_t *m); | 115 void ngx_mutex_unlock(ngx_mutex_t *m); |
114 | 116 |
115 | 117 |
116 typedef int (*ngx_rfork_thread_func_pt)(void *arg); | 118 typedef int (*ngx_rfork_thread_func_pt)(void *arg); |
117 | 119 |
118 | 120 |