From 20f5b0ffba60b24931430a6b40062c5a01589e38 Mon Sep 17 00:00:00 2001 From: JF Date: Sun, 13 Sep 2020 21:26:44 +0200 Subject: Fix race conditions during sleep/wakeup, where SPI/TWI could be disabled while transaction were in progress (https://github.com/JF002/Pinetime/issues/60). --- src/SystemTask/SystemTask.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/SystemTask/SystemTask.h') diff --git a/src/SystemTask/SystemTask.h b/src/SystemTask/SystemTask.h index 3812ea91..40277cf3 100644 --- a/src/SystemTask/SystemTask.h +++ b/src/SystemTask/SystemTask.h @@ -54,7 +54,9 @@ namespace Pinetime { Pinetime::Controllers::Ble& bleController; Pinetime::Controllers::DateTime& dateTimeController; QueueHandle_t systemTaksMsgQueue; - bool isSleeping = false; + std::atomic isSleeping{false}; + std::atomic isGoingToSleep{false}; + std::atomic isWakingUp{false}; Pinetime::Drivers::Watchdog watchdog; Pinetime::Drivers::WatchdogView watchdogView; Pinetime::Controllers::NotificationManager& notificationManager; -- cgit v1.2.3