diff --git a/src/modules/uavcan/allocator.hpp b/src/modules/uavcan/allocator.hpp index db34aa04fb..5db3e14940 100644 --- a/src/modules/uavcan/allocator.hpp +++ b/src/modules/uavcan/allocator.hpp @@ -47,8 +47,8 @@ namespace uavcan_node struct AllocatorSynchronizer { - const ::irqstate_t state = ::irqsave(); - ~AllocatorSynchronizer() { ::irqrestore(state); } + const ::irqstate_t state = ::enter_critical_section(); + ~AllocatorSynchronizer() { ::leave_critical_section(state); } }; struct Allocator : public uavcan::HeapBasedPoolAllocator