[libcamera-devel] [PATCH 5/9] libcamera: timer: Allow restarting a timer before expiration
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Sun Oct 6 07:32:22 CEST 2019
The Timer API allows restarting a timer before expiration. This isn't
correctly implemented, fix it.
Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
src/libcamera/timer.cpp | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/libcamera/timer.cpp b/src/libcamera/timer.cpp
index 8c74e1015e43..5d4e52713e6e 100644
--- a/src/libcamera/timer.cpp
+++ b/src/libcamera/timer.cpp
@@ -75,6 +75,9 @@ void Timer::start(std::chrono::milliseconds duration)
<< duration.count() << ": deadline "
<< utils::time_point_to_string(deadline_);
+ if (isRunning())
+ unregisterTimer();
+
registerTimer();
}
@@ -88,6 +91,9 @@ void Timer::start(std::chrono::milliseconds duration)
*/
void Timer::stop()
{
+ if (!isRunning())
+ return;
+
unregisterTimer();
}
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list