diff --git a/include/boost/smart_ptr/detail/sp_counted_base_aix.hpp b/include/boost/smart_ptr/detail/sp_counted_base_aix.hpp index a17e6cc..0208678 100644 --- a/include/boost/smart_ptr/detail/sp_counted_base_aix.hpp +++ b/include/boost/smart_ptr/detail/sp_counted_base_aix.hpp @@ -21,11 +21,15 @@ // #include +#include #include namespace boost { +namespace detail +{ + inline void atomic_increment( int32_t* pw ) { // ++*pw; @@ -39,9 +43,9 @@ inline int32_t atomic_decrement( int32_t * pw ) int32_t originalValue; - __asm__ __volatile__( "sync" ); + __lwsync(); originalValue = fetch_and_add( pw, -1 ); - __asm__ __volatile__( "isync" ); + __isync(); return (originalValue - 1); } @@ -59,9 +63,6 @@ inline int32_t atomic_conditional_increment( int32_t * pw ) } } -namespace detail -{ - class sp_counted_base { private: