Mercurial > hg > nginx
comparison src/os/win32/ngx_atomic.h @ 561:e48ebafc6939 release-0.3.2
nginx-0.3.2-RELEASE import
*) Feature: the Sun Studio 10 C compiler support.
*) Feature: the "proxy_upstream_max_fails",
"proxy_upstream_fail_timeout", "fastcgi_upstream_max_fails", and
"fastcgi_upstream_fail_timeout" directives.
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Wed, 12 Oct 2005 13:50:36 +0000 |
parents | d7c90bb5ce83 |
children | 9c2f3ed7a247 |
comparison
equal
deleted
inserted
replaced
560:8886091eddd2 | 561:e48ebafc6939 |
---|---|
12 #include <ngx_core.h> | 12 #include <ngx_core.h> |
13 | 13 |
14 | 14 |
15 #define NGX_HAVE_ATOMIC_OPS 1 | 15 #define NGX_HAVE_ATOMIC_OPS 1 |
16 | 16 |
17 typedef int32_t ngx_atomic_int_t; | 17 typedef int32_t ngx_atomic_int_t; |
18 typedef uint32_t ngx_atomic_uint_t; | 18 typedef uint32_t ngx_atomic_uint_t; |
19 typedef volatile ngx_atomic_uint_t ngx_atomic_t; | 19 typedef volatile ngx_atomic_uint_t ngx_atomic_t; |
20 #define NGX_ATOMIC_T_LEN sizeof("-2147483648") - 1 | 20 #define NGX_ATOMIC_T_LEN sizeof("-2147483648") - 1 |
21 | |
22 | |
23 #define ngx_atomic_inc(p) InterlockedIncrement((long *) p) | |
24 #define ngx_atomic_dec(p) InterlockedDecrement((long *) p) | |
25 | 21 |
26 | 22 |
27 #if defined( __WATCOMC__ ) || defined( __BORLANDC__ ) || ( _MSC_VER >= 1300 ) | 23 #if defined( __WATCOMC__ ) || defined( __BORLANDC__ ) || ( _MSC_VER >= 1300 ) |
28 | 24 |
29 /* the new SDK headers */ | 25 /* the new SDK headers */ |
40 == (void *) old) | 36 == (void *) old) |
41 | 37 |
42 #endif | 38 #endif |
43 | 39 |
44 | 40 |
41 #define ngx_atomic_fetch_add(p, add) InterlockedExchangeAdd((long *) p, add) | |
42 | |
43 | |
45 void ngx_spinlock(ngx_atomic_t *lock, ngx_uint_t spin); | 44 void ngx_spinlock(ngx_atomic_t *lock, ngx_uint_t spin); |
46 | 45 |
47 #define ngx_trylock(lock) (*(lock) == 0 && ngx_atomic_cmp_set(lock, 0, 1)) | 46 #define ngx_trylock(lock) (*(lock) == 0 && ngx_atomic_cmp_set(lock, 0, 1)) |
48 #define ngx_unlock(lock) *(lock) = 0 | 47 #define ngx_unlock(lock) *(lock) = 0 |
49 | 48 |