comparison src/os/win32/ngx_atomic.h @ 435:5cdc4838d4e8

nginx-0.0.11-2004-09-22-20:18:21 import
author Igor Sysoev <igor@sysoev.ru>
date Wed, 22 Sep 2004 16:18:21 +0000
parents 018569a8f09c
children da8c5707af39
comparison
equal deleted inserted replaced
434:8998b09f89e9 435:5cdc4838d4e8
4 4
5 #include <ngx_config.h> 5 #include <ngx_config.h>
6 #include <ngx_core.h> 6 #include <ngx_core.h>
7 7
8 8
9 #define NGX_HAVE_ATOMIC_OPS 1
10
11
9 #define ngx_atomic_inc(p) InterlockedIncrement((long *) p) 12 #define ngx_atomic_inc(p) InterlockedIncrement((long *) p)
10 #define ngx_atomic_dec(p) InterlockedDecrement((long *) p)
11 13
12 14
13 #if defined( __WATCOMC__ ) || defined( __BORLANDC__ ) 15 #if defined( __WATCOMC__ ) || defined( __BORLANDC__ )
16
17 /* the new SDK headers */
14 18
15 #define ngx_atomic_cmp_set(lock, old, set) \ 19 #define ngx_atomic_cmp_set(lock, old, set) \
16 (InterlockedCompareExchange((long *) lock, set, old) == old) 20 (InterlockedCompareExchange((long *) lock, set, old) == old)
17 21
18 #else 22 #else
23
24 /* the old MS VC6.0SP2 SDK headers */
19 25
20 #define ngx_atomic_cmp_set(lock, old, set) \ 26 #define ngx_atomic_cmp_set(lock, old, set) \
21 (InterlockedCompareExchange((void **) lock, (void *) set, (void *) old) \ 27 (InterlockedCompareExchange((void **) lock, (void *) set, (void *) old) \
22 == (void *) old) 28 == (void *) old)
23 29