Browse Source

free perf counters in driver destructor

this prevents drivers that probe on one bus then instantiate on
another from leaving behind stale/duplicate perf counters
sbg
Andrew Tridgell 12 years ago committed by Lorenz Meier
parent
commit
ad732ee3a1
  1. 5
      src/drivers/airspeed/airspeed.cpp
  2. 5
      src/drivers/hmc5883/hmc5883.cpp
  3. 6
      src/drivers/ms5611/ms5611.cpp

5
src/drivers/airspeed/airspeed.cpp

@ -106,6 +106,11 @@ Airspeed::~Airspeed() @@ -106,6 +106,11 @@ Airspeed::~Airspeed()
/* free any existing reports */
if (_reports != nullptr)
delete[] _reports;
// free perf counters
perf_free(_sample_perf);
perf_free(_comms_errors);
perf_free(_buffer_overflows);
}
int

5
src/drivers/hmc5883/hmc5883.cpp

@ -359,6 +359,11 @@ HMC5883::~HMC5883() @@ -359,6 +359,11 @@ HMC5883::~HMC5883()
/* free any existing reports */
if (_reports != nullptr)
delete[] _reports;
// free perf counters
perf_free(_sample_perf);
perf_free(_comms_errors);
perf_free(_buffer_overflows);
}
int

6
src/drivers/ms5611/ms5611.cpp

@ -225,6 +225,12 @@ MS5611::~MS5611() @@ -225,6 +225,12 @@ MS5611::~MS5611()
if (_reports != nullptr)
delete[] _reports;
// free perf counters
perf_free(_sample_perf);
perf_free(_measure_perf);
perf_free(_comms_errors);
perf_free(_buffer_overflows);
delete _interface;
}

Loading…
Cancel
Save