diff options
| author | Igor Sysoev <igor@sysoev.ru> | 2009-11-27 22:00:39 +0000 |
|---|---|---|
| committer | Igor Sysoev <igor@sysoev.ru> | 2009-11-27 22:00:39 +0000 |
| commit | 37835d905637553e33f09ed56ef1975e0e5aeef3 (patch) | |
| tree | ccd979615064efe67763a00da61fb95b9782dc8f /auto/cc | |
| parent | d5624689cb055c7ae77f22f4802ce5f0cf0f3dc6 (diff) | |
| download | nginx-37835d905637553e33f09ed56ef1975e0e5aeef3.tar.gz nginx-37835d905637553e33f09ed56ef1975e0e5aeef3.tar.bz2 | |
atomic operations test-run
Diffstat (limited to 'auto/cc')
| -rw-r--r-- | auto/cc/conf | 13 |
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 |
