[libcamera-devel] [PATCH v2 1/3] libcamera: timer: Stop timer when it is deleted
Niklas Söderlund
niklas.soderlund at ragnatech.se
Sun Jun 30 18:25:12 CEST 2019
If a timer is running while it's deleted it is still register with the
event dispatcher. This causes a segmentation fault when the timer
time-out and its signal is emitted. Fix this my stopping the timer when
it's deleted.
Signed-off-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
---
include/libcamera/timer.h | 1 +
src/libcamera/timer.cpp | 5 +++++
2 files changed, 6 insertions(+)
diff --git a/include/libcamera/timer.h b/include/libcamera/timer.h
index 97dcc01f493dc70d..f082339b1fed9de7 100644
--- a/include/libcamera/timer.h
+++ b/include/libcamera/timer.h
@@ -17,6 +17,7 @@ class Timer
{
public:
Timer();
+ ~Timer();
void start(unsigned int msec);
void stop();
diff --git a/src/libcamera/timer.cpp b/src/libcamera/timer.cpp
index 1cce45085c61be2f..0dcb4e767be30b32 100644
--- a/src/libcamera/timer.cpp
+++ b/src/libcamera/timer.cpp
@@ -43,6 +43,11 @@ Timer::Timer()
{
}
+Timer::~Timer()
+{
+ stop();
+}
+
/**
* \brief Start or restart the timer with a timeout of \a msec
* \param[in] msec The timer duration in milliseconds
--
2.21.0
More information about the libcamera-devel
mailing list