aboutsummaryrefslogtreecommitdiff
path: root/src/osal/lv_pthread.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/osal/lv_pthread.c')
-rw-r--r--src/osal/lv_pthread.c8
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;