diff options
author | JF <jf@codingfield.com> | 2020-09-13 21:26:44 +0200 |
---|---|---|
committer | JF <jf@codingfield.com> | 2020-09-13 21:26:44 +0200 |
commit | 20f5b0ffba60b24931430a6b40062c5a01589e38 (patch) | |
tree | 5b3c95a412f738a34976db2dba12a75cf5e81f71 /src/SystemTask/SystemTask.h | |
parent | d757344f1b6921d84a9b3d6d42b5e0f5a472813a (diff) |
Fix race conditions during sleep/wakeup, where SPI/TWI could be disabled while transaction were in progress (https://github.com/JF002/Pinetime/issues/60).
Diffstat (limited to 'src/SystemTask/SystemTask.h')
-rw-r--r-- | src/SystemTask/SystemTask.h | 4 |
1 files changed, 3 insertions, 1 deletions
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<bool> isSleeping{false}; + std::atomic<bool> isGoingToSleep{false}; + std::atomic<bool> isWakingUp{false}; Pinetime::Drivers::Watchdog watchdog; Pinetime::Drivers::WatchdogView watchdogView; Pinetime::Controllers::NotificationManager& notificationManager; |