refactored threading-related classes, code broken

This commit is contained in:
grcasanova
2020-07-05 23:11:40 +02:00
parent 64da384fc1
commit 0a6059ba13
16 changed files with 243 additions and 245 deletions

31
src/concurrency/Lock.h Normal file
View File

@@ -0,0 +1,31 @@
#pragma once
#include "freertosinc.h"
namespace concurrency {
// Simple wrapper around FreeRTOS API for implementing a mutex lock.
class Lock
{
public:
Lock();
Lock(const Lock &) = delete;
Lock &operator=(const Lock &) = delete;
/// Locks the lock.
//
// Must not be called from an ISR.
void lock();
// Unlocks the lock.
//
// Must not be called from an ISR.
void unlock();
private:
SemaphoreHandle_t handle;
};
} // namespace concurrency