diff --git a/mutex.cpp b/mutex.cpp index 225c1a4..f67cc3c 100644 --- a/mutex.cpp +++ b/mutex.cpp @@ -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); }