diff options
Diffstat (limited to 'src/osal/lv_pthread.c')
-rw-r--r-- | src/osal/lv_pthread.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/osal/lv_pthread.c b/src/osal/lv_pthread.c index 3fde24638..268f055c2 100644 --- a/src/osal/lv_pthread.c +++ b/src/osal/lv_pthread.c @@ -64,7 +64,13 @@ lv_result_t lv_thread_delete(lv_thread_t * thread) lv_result_t lv_mutex_init(lv_mutex_t * mutex) { - int ret = pthread_mutex_init(mutex, NULL); + pthread_mutexattr_t attr; + + pthread_mutexattr_init(&attr); + pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); + int ret = pthread_mutex_init(mutex, &attr); + pthread_mutexattr_destroy(&attr); + if(ret) { LV_LOG_WARN("Error: %d", ret); return LV_RESULT_INVALID; |