The atomic_ops(3C) family of functions do not exist in userspace
before Solaris 10. So, only use them for rx_atomic operations if
we're on AFS_SUN510_ENV, or if we're in the kernel.
Also, include <sys/atomic.h> for kernel code and <atomic.h> for
userspace. Although they are currently equivalent, they are documented
as separate, and pre-10 lacks <atomic.h>.
Change-Id: Id71857efcd6460f8223302850b548754c19d076f
Reviewed-on: http://gerrit.openafs.org/3652
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
#define rx_atomic_dec(X) atomic_dec(X)
#define rx_atomic_sub(X, V) atomic_sub(V, X)
-#elif defined(AFS_SUN58_ENV)
+#elif defined(AFS_SUN510_ENV) || (defined(AFS_SUN58_ENV) && defined(KERNEL) && !defined(UKERNEL))
-# include <atomic.h>
+# if defined(KERNEL) && !defined(UKERNEL)
+# include <sys/atomic.h>
+# else
+# include <atomic.h>
+# endif
typedef struct {
volatile unsigned int var;