diff --git a/lib/queue/GwSynchronized.h b/lib/queue/GwSynchronized.h new file mode 100644 index 0000000..53241db --- /dev/null +++ b/lib/queue/GwSynchronized.h @@ -0,0 +1,17 @@ +#pragma once +#include + +class GwSynchronized{ + private: + SemaphoreHandle_t *locker; + public: + GwSynchronized(SemaphoreHandle_t *locker){ + this->locker=locker; + xSemaphoreTake(*locker, portMAX_DELAY); + } + ~GwSynchronized(){ + xSemaphoreGive(*locker); + } +}; + +#define GWSYNCHRONIZED(locker) GwSynchronized __xlock__(locker); \ No newline at end of file