RAII guard asserting that no Eigen heap activity (allocation or deallocation) happens inside real-time critical sections. More...
#include <Eigen/Core>Go to the source code of this file.
Classes | |
| class | jsa::cicuetea::RealTimeChecker |
RAII guard asserting that no Eigen heap activity (allocation or deallocation) happens inside real-time critical sections.
Armed by the REALTIME_CHECKS compile definition (CMake option of the same name) on top of EIGEN_RUNTIME_NO_MALLOC; the checks fire through eigen_assert, so they are active only in builds where assert is live (NDEBUG not defined) and cost nothing in release builds.
On Eigen >= 5 the guard also forbids deallocation explicitly: a free in the audio callback is as non-deterministic as a malloc. Note that Eigen 5.0.0/5.0.1 ship a typo (check_that_free_is_allowed tests the malloc flag, fixed on upstream master), so guarded frees assert there regardless — forbidding them deliberately keeps the guard's meaning identical across Eigen versions.