ExitAirTemp: use weak_ptr to fix memory leak

ExitAirTempSensor is never destructed because
the shared_ptr self is captured in match event handlers and
async callbacks. This causes memory leaks when new ExitAirTempSensor
is re-created due to configuration changes.

Change the capture to weak_ptr fixes the issue.

Tested:
Run DC cycle and observed that no more memory leaks.

Signed-off-by: Zhikui Ren <zhikui.ren@intel.com>
Change-Id: Idb66c764ebc5e0ebad4a291d2f7cb0a54c118114
1 file changed
tree: bfc4c23357389fc7e30915b8b162d1979d72ffab
  1. include/
  2. service_files/
  3. src/
  4. tests/
  5. .clang-format
  6. .clang-ignore
  7. .clang-tidy
  8. .gitignore
  9. Jenkinsfile
  10. LICENSE
  11. MAINTAINERS
  12. meson.build
  13. meson_options.txt
  14. README.md
README.md

dbus-sensors

dbus-sensors is a collection of sensor applications that provide the xyz.openbmc_project.Sensor collection of interfaces. They read sensor values from hwmon, d-bus, or direct driver access to provide readings. Some advance non-sensor features such as fan presence, pwm control, and automatic cpu detection (x86) are also supported.

key features

  • runtime re-configurable from d-bus (entity-manager or the like)

  • isolated: each sensor type is isolated into its own daemon, so a bug in one sensor is unlikely to affect another, and single sensor modifications are possible

  • async single-threaded: uses sdbusplus/asio bindings

  • multiple data inputs: hwmon, d-bus, direct driver access

sensor documentation