|
|
@ -10,16 +10,15 @@ zmutex::zmutex(const char* name) { this->name = name; } |
|
|
|
zmutex::~zmutex() { vSemaphoreDelete(recursiveMutex); } |
|
|
|
void zmutex::init() { |
|
|
|
recursiveMutex = xSemaphoreCreateRecursiveMutex(); |
|
|
|
ZASSERT(recursiveMutex != NULL); |
|
|
|
ZASSERT_INFO(recursiveMutex != NULL, "zmutex (%s) init failed", name); |
|
|
|
} |
|
|
|
bool zmutex::isInit() { return recursiveMutex != NULL; } |
|
|
|
void zmutex::lock() { |
|
|
|
// ZASSERT(recursiveMutex != NULL);
|
|
|
|
|
|
|
|
if (recursiveMutex == NULL) { |
|
|
|
ZLOGE(TAG, "%s recursiveMutex NULL, init it", name); |
|
|
|
ZASSERT(recursiveMutex != NULL); |
|
|
|
} |
|
|
|
|
|
|
|
ZASSERT_INFO(recursiveMutex != NULL, "zmutex (%s) not init, init it", name); |
|
|
|
|
|
|
|
xSemaphoreTakeRecursive(recursiveMutex, portMAX_DELAY); |
|
|
|
} |
|
|
|
void zmutex::unlock() { xSemaphoreGiveRecursive(recursiveMutex); } |
|
|
|