summaryrefslogtreecommitdiffhomepage
path: root/auto/cc
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2009-11-27 22:00:39 +0000
committerIgor Sysoev <igor@sysoev.ru>2009-11-27 22:00:39 +0000
commit37835d905637553e33f09ed56ef1975e0e5aeef3 (patch)
treeccd979615064efe67763a00da61fb95b9782dc8f /auto/cc
parentd5624689cb055c7ae77f22f4802ce5f0cf0f3dc6 (diff)
downloadnginx-37835d905637553e33f09ed56ef1975e0e5aeef3.tar.gz
nginx-37835d905637553e33f09ed56ef1975e0e5aeef3.tar.bz2
atomic operations test-run
Diffstat (limited to 'auto/cc')
-rw-r--r--auto/cc/conf13
1 files changed, 9 insertions, 4 deletions
diff --git a/auto/cc/conf b/auto/cc/conf
index 8916ad095..a7c8a0946 100644
--- a/auto/cc/conf
+++ b/auto/cc/conf
@@ -127,13 +127,18 @@ if [ "$NGX_PLATFORM" != win32 ]; then
ngx_feature="gcc builtin atomic operations"
ngx_feature_name=NGX_HAVE_GCC_ATOMIC
- ngx_feature_run=no
+ ngx_feature_run=yes
ngx_feature_incs=
ngx_feature_path=
ngx_feature_libs=
- ngx_feature_test="long n;
- __sync_bool_compare_and_swap(&n, 0, 1);
- __sync_fetch_and_add(&n, 1);"
+ ngx_feature_test="long n = 0;
+ if (!__sync_bool_compare_and_swap(&n, 0, 1))
+ return 1;
+ if (__sync_fetch_and_add(&n, 1) != 1)
+ return 1;
+ if (n != 2)
+ return 1;
+ __sync_synchronize();"
. auto/feature