aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--auto/os/conf10
-rw-r--r--src/os/unix/ngx_atomic.h6
2 files changed, 13 insertions, 3 deletions
diff --git a/auto/os/conf b/auto/os/conf
index 806beb9e9..b34be7245 100644
--- a/auto/os/conf
+++ b/auto/os/conf
@@ -42,6 +42,16 @@ case "$NGX_PLATFORM" in
CORE_INCS="$UNIX_INCS"
CORE_DEPS="$UNIX_DEPS $POSIX_DEPS"
CORE_SRCS="$UNIX_SRCS"
+
+ ngx_feature="atomic(3)"
+ ngx_feature_name=NGX_DARWIN_ATOMIC
+ ngx_feature_run=no
+ ngx_feature_incs="#include <libkern/OSAtomic.h>"
+ ngx_feature_path=
+ ngx_feature_libs=
+ ngx_feature_test="int32_t lock, n;
+ n = OSAtomicCompareAndSwap32Barrier(0, 1, lock)"
+ . auto/feature
;;
HP-UX:*)
diff --git a/src/os/unix/ngx_atomic.h b/src/os/unix/ngx_atomic.h
index 593f671ce..c0734e12e 100644
--- a/src/os/unix/ngx_atomic.h
+++ b/src/os/unix/ngx_atomic.h
@@ -12,11 +12,11 @@
#include <ngx_core.h>
-#if (NGX_DARWIN)
+#if (NGX_DARWIN_ATOMIC)
/*
- * use MacOSX atomic(3) and barrier(3) operations
- * optimized at run time for UP and SMP
+ * use Darwin 8 atomic(3) and barrier(3) operations
+ * optimized at run-time for UP and SMP
*/
#include <libkern/OSAtomic.h>