diff --git a/src/lib/eina/eina_inline_lock_posix.x b/src/lib/eina/eina_inline_lock_posix.x index 58194e517c..c28a2d089d 100644 --- a/src/lib/eina/eina_inline_lock_posix.x +++ b/src/lib/eina/eina_inline_lock_posix.x @@ -888,7 +888,11 @@ eina_semaphore_lock(Eina_Semaphore *sem) else { if (errno != EINTR) - break; + { + if (errno == EDEADLK) + EINA_LOCK_DEADLOCK_DEBUG(sem_wait, sem); + break; + } } } return ok; diff --git a/src/lib/eina/eina_thread_queue.c b/src/lib/eina/eina_thread_queue.c index 6bf0c53ea6..190d772f82 100644 --- a/src/lib/eina/eina_thread_queue.c +++ b/src/lib/eina/eina_thread_queue.c @@ -116,7 +116,11 @@ _eina_thread_queue_msg_block_new(int size) blk = malloc(sizeof(Eina_Thread_Queue_Msg_Block) - sizeof(Eina_Thread_Queue_Msg) + size); - if (!blk) return NULL; + if (!blk) + { + ERR("Thread queue block buffer of size %i allocation failed", size); + return NULL; + } blk->next = NULL; #ifndef ATOMIC eina_spinlock_new(&(blk->lock_ref)); @@ -380,7 +384,11 @@ eina_thread_queue_new(void) Eina_Thread_Queue *thq; thq = calloc(1, sizeof(Eina_Thread_Queue)); - if (!thq) return NULL; + if (!thq) + { + ERR("Allocation of Thread queue structure failed"); + return NULL; + } thq->fd = -1; if (!eina_semaphore_new(&(thq->sem), 0)) {