From 618f5ec2b2714cb8b4f29cdee1ff2c87f383f52e Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Tue, 20 Dec 2016 18:37:06 +0100 Subject: [PATCH] thread-mainloop: use recursive mutex --- pinos/client/thread-mainloop.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pinos/client/thread-mainloop.c b/pinos/client/thread-mainloop.c index 4b75e4d5b..b43bd292d 100644 --- a/pinos/client/thread-mainloop.c +++ b/pinos/client/thread-mainloop.c @@ -80,6 +80,7 @@ pinos_thread_main_loop_new (PinosLoop *loop, { PinosThreadMainLoopImpl *impl; PinosThreadMainLoop *this; + pthread_mutexattr_t attr; impl = calloc (1, sizeof (PinosThreadMainLoopImpl)); this = &impl->this; @@ -96,7 +97,10 @@ pinos_thread_main_loop_new (PinosLoop *loop, pinos_signal_init (&this->destroy_signal); - pthread_mutex_init (&impl->lock, NULL); + + pthread_mutexattr_init (&attr); + pthread_mutexattr_settype (&attr, PTHREAD_MUTEX_RECURSIVE); + pthread_mutex_init (&impl->lock, &attr); pthread_cond_init (&impl->cond, NULL); pthread_cond_init (&impl->accept_cond, NULL);