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.

Reply via email to