diff --git a/platforms/common/include/px4_platform_common/atomic.h b/platforms/common/include/px4_platform_common/atomic.h index b2d828efdb..47b3fb6de8 100644 --- a/platforms/common/include/px4_platform_common/atomic.h +++ b/platforms/common/include/px4_platform_common/atomic.h @@ -128,7 +128,8 @@ public: if (!__atomic_always_lock_free(sizeof(T), 0)) { irqstate_t flags = enter_critical_section(); - T ret = _value++; + T ret = _value; + _value += num; leave_critical_section(flags); return ret; @@ -149,7 +150,8 @@ public: if (!__atomic_always_lock_free(sizeof(T), 0)) { irqstate_t flags = enter_critical_section(); - T ret = _value--; + T ret = _value; + _value -= num; leave_critical_section(flags); return ret;