From b5be8d9fd19a5919d764c1268922f0bf64c1fd91 Mon Sep 17 00:00:00 2001 From: mcsauder Date: Wed, 20 Feb 2019 09:48:22 -0700 Subject: [PATCH] Add perf_free() calls orb_unsubscribe and remove delete _instance in the Simulator class destructor. --- src/modules/simulator/simulator.h | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/modules/simulator/simulator.h b/src/modules/simulator/simulator.h index a2160e301d..63d0139c8f 100644 --- a/src/modules/simulator/simulator.h +++ b/src/modules/simulator/simulator.h @@ -255,9 +255,18 @@ private: ~Simulator() { - if (_instance != nullptr) { - delete _instance; - } + // Unsubscribe from uORB topics. + orb_unsubscribe(_param_sub); + + // free perf counters + perf_free(_perf_accel); + perf_free(_perf_airspeed); + perf_free(_perf_baro); + perf_free(_perf_gps); + perf_free(_perf_mag); + perf_free(_perf_mpu); + perf_free(_perf_sim_delay); + perf_free(_perf_sim_interval); _instance = NULL; } @@ -358,8 +367,8 @@ private: // uORB data containers input_rc_s _rc_input {}; - vehicle_attitude_s _attitude {}; manual_control_setpoint_s _manual {}; + vehicle_attitude_s _attitude {}; vehicle_status_s _vehicle_status {}; DEFINE_PARAMETERS(