Split off RecursiveMutex from Mutex (#437)

* Split off RecursiveMutex from Mutex

* Fix

* Code quality
This commit is contained in:
Ken Van Hoeylandt
2025-12-28 12:30:54 +01:00
committed by GitHub
parent f48654d3dc
commit 3fc2ff8bc6
45 changed files with 185 additions and 177 deletions
@@ -4,7 +4,7 @@
#include "GpsConfiguration.h"
#include "Satellites.h"
#include <Tactility/Mutex.h>
#include <Tactility/RecursiveMutex.h>
#include <Tactility/Thread.h>
#include <minmea.h>
@@ -47,7 +47,7 @@ private:
};
const GpsConfiguration configuration;
Mutex mutex = Mutex(Mutex::Type::Recursive);
RecursiveMutex mutex;
std::unique_ptr<Thread> _Nullable thread;
bool threadInterrupted = false;
std::vector<GgaSubscription> ggaSubscriptions;
@@ -1,7 +1,7 @@
#pragma once
#include <Tactility/RtosCompat.h>
#include <Tactility/Mutex.h>
#include <Tactility/RecursiveMutex.h>
#include <minmea.h>
@@ -30,7 +30,7 @@ private:
bool inUse = false;
};
Mutex mutex = Mutex(Mutex::Type::Recursive);
RecursiveMutex mutex;
std::array<SatelliteRecord, recordCount> records;
uint16_t recycleTimeSeconds;
uint16_t recentTimeSeconds;
@@ -4,14 +4,13 @@
#include "SdCardDevice.h"
#include <Tactility/RecursiveMutex.h>
#include <Tactility/hal/Device.h>
#include <Tactility/hal/spi/Spi.h>
#include <sd_protocol_types.h>
#include <soc/gpio_num.h>
#include <utility>
#include <vector>
#include <Tactility/hal/Device.h>
#include <hal/spi_types.h>
#include <soc/gpio_num.h>
namespace tt::hal::sdcard {
@@ -20,7 +19,7 @@ namespace tt::hal::sdcard {
*/
class SdmmcDevice final : public SdCardDevice {
std::shared_ptr<Mutex> mutex = std::make_shared<Mutex>(Mutex::Type::Recursive);
std::shared_ptr<RecursiveMutex> mutex = std::make_shared<RecursiveMutex>();
public:
@@ -2,7 +2,7 @@
#ifdef ESP_PLATFORM
#include <esp_http_server.h>
#include <Tactility/Mutex.h>
#include <Tactility/RecursiveMutex.h>
#include <Tactility/kernel/SystemEvents.h>
namespace tt::network {
@@ -33,7 +33,7 @@ private:
std::vector<httpd_uri_t> handlers;
Mutex mutex = Mutex(Mutex::Type::Recursive);
RecursiveMutex mutex;
httpd_handle_t server = nullptr;
bool startInternal();
@@ -1,6 +1,7 @@
#pragma once
#include "Tactility/Mutex.h"
#include "Tactility/RecursiveMutex.h"
#include "Tactility/PubSub.h"
#include "Tactility/hal/gps/GpsDevice.h"
#include "Tactility/service/Service.h"
@@ -20,7 +21,7 @@ class GpsService final : public Service {
minmea_sentence_rmc rmcRecord;
TickType_t rmcTime = 0;
Mutex mutex = Mutex(Mutex::Type::Recursive);
RecursiveMutex mutex;
Mutex stateMutex;
std::vector<GpsDeviceRecord> deviceRecords;
std::shared_ptr<PubSub<State>> statePubSub = std::make_shared<PubSub<State>>();
@@ -5,6 +5,7 @@
#include <Tactility/Bundle.h>
#include <Tactility/DispatcherThread.h>
#include <Tactility/PubSub.h>
#include <Tactility/RecursiveMutex.h>
#include <Tactility/service/Service.h>
#include <memory>
@@ -26,7 +27,7 @@ public:
private:
std::shared_ptr<PubSub<Event>> pubsubExternal = std::make_shared<PubSub<Event>>();
Mutex mutex = Mutex(Mutex::Type::Recursive);
RecursiveMutex mutex;
std::vector<std::shared_ptr<app::AppInstance>> appStack;
app::LaunchId nextLaunchId = 0;