diff --git a/rtt/internal/ConnFactory.hpp b/rtt/internal/ConnFactory.hpp index 8038fcb1d..9c6b6cc13 100644 --- a/rtt/internal/ConnFactory.hpp +++ b/rtt/internal/ConnFactory.hpp @@ -120,7 +120,13 @@ namespace RTT case ConnPolicy::LOCK_FREE: data_object.reset( new base::DataObjectLockFree(initial_value) ); break; +#else + case ConnPolicy::LOCK_FREE: + RTT::log(Warning) << "lock free connection policy is unavailable on this system, defaulting to LOCKED" << RTT::endlog(); #endif + case ConnPolicy::LOCKED: + data_object.reset( new base::DataObjectLocked(initial_value) ); + break; case ConnPolicy::UNSYNC: data_object.reset( new base::DataObjectUnSync(initial_value) ); break; @@ -134,14 +140,17 @@ namespace RTT base::BufferInterface* buffer_object = 0; switch (policy.lock_policy) { - case ConnPolicy::LOCKED: - buffer_object = new base::BufferLocked(policy.size, initial_value); - break; #ifndef OROBLD_OS_NO_ASM case ConnPolicy::LOCK_FREE: buffer_object = new base::BufferLockFree(policy.size, initial_value); break; +#else + case ConnPolicy::LOCK_FREE: + RTT::log(Warning) << "lock free connection policy is unavailable on this system, defaulting to LOCKED" << RTT::endlog(); #endif + case ConnPolicy::LOCKED: + buffer_object = new base::BufferLocked(policy.size, initial_value); + break; case ConnPolicy::UNSYNC: buffer_object = new base::BufferUnSync(policy.size, initial_value); break;