Module Name: src
Committed By: christos
Date: Sat Dec 25 15:26:32 UTC 2010
Modified Files:
src/external/bsd/bind/include/isc: atomic.h platform.h
Log Message:
Fix non-threads compatibility code which was causing trouble even in the
threaded version.
To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/external/bsd/bind/include/isc/atomic.h
cvs rdiff -u -r1.8 -r1.9 src/external/bsd/bind/include/isc/platform.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/bsd/bind/include/isc/atomic.h
diff -u src/external/bsd/bind/include/isc/atomic.h:1.2 src/external/bsd/bind/include/isc/atomic.h:1.3
--- src/external/bsd/bind/include/isc/atomic.h:1.2 Tue Dec 14 18:19:23 2010
+++ src/external/bsd/bind/include/isc/atomic.h Sat Dec 25 10:26:32 2010
@@ -1,9 +1,9 @@
-/* $NetBSD: atomic.h,v 1.2 2010/12/14 23:19:23 christos Exp $ */
+/* $NetBSD: atomic.h,v 1.3 2010/12/25 15:26:32 christos Exp $ */
#ifndef ISC_ATOMIC_H
#define ISC_ATOMIC_H 1
-#ifdef ISC_PLATFORM_USE_THREADS
+#ifdef ISC_PLATFORM_USETHREADS
#include <sys/atomic.h>
#else
#define ISC_NO_ATOMIC
@@ -18,7 +18,7 @@
isc_atomic_xadd(isc_int32_t *p, isc_int32_t val) {
#ifdef ISC_NO_ATOMIC
isc_int32_t oval = *p;
- *p = val;
+ *p += val;
return oval;
#else
return (isc_int32_t)atomic_add_32_nv((volatile uint32_t *)p,
@@ -31,7 +31,7 @@
isc_atomic_xaddq(isc_int64_t *p, isc_int64_t val) {
#ifdef ISC_NO_ATOMIC
isc_int64_t oval = *p;
- *p = val;
+ *p += val;
return oval;
#else
return (isc_int64_t)atomic_add_64_nv((volatile uint64_t *)p,
@@ -61,7 +61,7 @@
isc_atomic_cmpxchg(isc_int32_t *p, isc_int32_t cmpval, isc_int32_t val) {
#ifdef ISC_NO_ATOMIC
isc_int32_t oval = *p;
- if (oval == val)
+ if (cmpval == oval)
*p = val;
return oval;
#else
Index: src/external/bsd/bind/include/isc/platform.h
diff -u src/external/bsd/bind/include/isc/platform.h:1.8 src/external/bsd/bind/include/isc/platform.h:1.9
--- src/external/bsd/bind/include/isc/platform.h:1.8 Tue Dec 14 18:19:23 2010
+++ src/external/bsd/bind/include/isc/platform.h Sat Dec 25 10:26:32 2010
@@ -25,9 +25,6 @@
/*****
***** Platform-dependent defines.
*****/
-#ifdef ISC_PLATFORM_USE_THREADS
-#include <sys/atomic.h>
-#endif
/***
*** Network.