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.