summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--configure.in2
-rw-r--r--ruby_atomic.h2
3 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index a0c29128c4..13efa805db 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Sat Apr 6 23:46:54 2013 Naohisa Goto <ngotogenome@gmail.com>
+
+ * configure.in (AC_CHECK_HEADERS): atomic.h for Solaris atomic_ops.
+
+ * ruby_atomic.h: Skip using Solaris10 atomic_ops on Solaris 9 or
+ earlier if atomic.h is not available. [ruby-dev:47229] [Bug #8228]
+
Sat Apr 6 23:40:40 2013 Tanaka Akira <akr@fsij.org>
* lib/resolv.rb: Support LOC resources.
diff --git a/configure.in b/configure.in
index c6d8d83612..9b28e2b1fe 100644
--- a/configure.in
+++ b/configure.in
@@ -994,7 +994,7 @@ AC_CHECK_HEADERS(limits.h sys/file.h sys/ioctl.h sys/syscall.h\
syscall.h pwd.h grp.h a.out.h utime.h direct.h sys/resource.h \
sys/mkdev.h sys/utime.h float.h ieeefp.h \
ucontext.h intrinsics.h langinfo.h locale.h sys/sendfile.h time.h \
- net/socket.h sys/socket.h process.h sys/prctl.h)
+ net/socket.h sys/socket.h process.h sys/prctl.h atomic.h)
dnl check for large file stuff
mv confdefs.h confdefs1.h
diff --git a/ruby_atomic.h b/ruby_atomic.h
index 135a8c7e79..4a53e60824 100644
--- a/ruby_atomic.h
+++ b/ruby_atomic.h
@@ -64,7 +64,7 @@ rb_w32_atomic_or(volatile rb_atomic_t *var, rb_atomic_t val)
# define ATOMIC_SIZE_EXCHANGE(var, val) InterlockedExchange((LONG *)&(var), (val))
# endif
-#elif defined(__sun)
+#elif defined(__sun) && defined(HAVE_ATOMIC_H)
#include <atomic.h>
typedef unsigned int rb_atomic_t;