Mercurial > hg > nginx
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 |