comparison src/os/win32/ngx_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 d4ea69372b94
children d620f497c50f
comparison
equal deleted inserted replaced
562:4b6108f69026 563:9c2f3ed7a247
12 #include <ngx_core.h> 12 #include <ngx_core.h>
13 13
14 14
15 typedef HANDLE ngx_tid_t; 15 typedef HANDLE ngx_tid_t;
16 typedef DWORD ngx_tls_key_t; 16 typedef DWORD ngx_tls_key_t;
17 typedef DWORD ngx_thread_value_t;
17 18
18 19
19 typedef struct { 20 typedef struct {
20 HANDLE mutex; 21 HANDLE mutex;
21 ngx_log_t *log; 22 ngx_log_t *log;
22 } ngx_mutex_t; 23 } ngx_mutex_t;
23 24
24 25
25 ngx_err_t ngx_create_thread(ngx_tid_t *tid, void* (*func)(void *arg), 26 ngx_err_t ngx_create_thread(ngx_tid_t *tid,
26 void *arg, ngx_log_t *log); 27 ngx_thread_value_t (__stdcall *func)(void *arg), void *arg, ngx_log_t *log);
27 ngx_int_t ngx_init_threads(int n, size_t size, ngx_cycle_t *cycle); 28 ngx_int_t ngx_init_threads(int n, size_t size, ngx_cycle_t *cycle);
28 29
29 ngx_err_t ngx_thread_key_create(ngx_tls_key_t *key); 30 ngx_err_t ngx_thread_key_create(ngx_tls_key_t *key);
30 #define ngx_thread_key_create_n "TlsAlloc()" 31 #define ngx_thread_key_create_n "TlsAlloc()"
31 ngx_err_t ngx_thread_set_tls(ngx_tls_key_t *key, void *data); 32 ngx_err_t ngx_thread_set_tls(ngx_tls_key_t *key, void *data);
39 #define NGX_TID_T_FMT "%ud" 40 #define NGX_TID_T_FMT "%ud"
40 41
41 42
42 ngx_mutex_t *ngx_mutex_init(ngx_log_t *log, ngx_uint_t flags); 43 ngx_mutex_t *ngx_mutex_init(ngx_log_t *log, ngx_uint_t flags);
43 44
44 ngx_int_t ngx_mutex_lock(ngx_mutex_t *m); 45 void ngx_mutex_lock(ngx_mutex_t *m);
45 ngx_int_t ngx_mutex_trylock(ngx_mutex_t *m); 46 ngx_int_t ngx_mutex_trylock(ngx_mutex_t *m);
47 void ngx_mutex_unlock(ngx_mutex_t *m);
46 48
47 49
48 /* STUB */ 50 /* STUB */
49 #define NGX_MUTEX_LIGHT 0 51 #define NGX_MUTEX_LIGHT 0
50
51 #define ngx_mutex_unlock(m)
52 /**/ 52 /**/
53 53
54 54
55 extern ngx_int_t ngx_threads_n; 55 extern ngx_int_t ngx_threads_n;
56 56