From 22f004db61c11f63ed07da2a326c7edbbfee5730 Mon Sep 17 00:00:00 2001 From: Shuhei Tanuma Date: Sat, 21 Jul 2012 22:29:55 +0900 Subject: [PATCH] unix: don't abort() when trylock functions return EBUSY Fixes #500. --- src/unix/thread.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/unix/thread.c b/src/unix/thread.c index a267d337..67c78769 100644 --- a/src/unix/thread.c +++ b/src/unix/thread.c @@ -78,7 +78,7 @@ int uv_mutex_trylock(uv_mutex_t* mutex) { r = pthread_mutex_trylock(mutex); - if (r && r != EAGAIN) + if (r && r != EBUSY && r != EAGAIN) abort(); if (r) @@ -119,7 +119,7 @@ int uv_rwlock_tryrdlock(uv_rwlock_t* rwlock) { r = pthread_rwlock_tryrdlock(rwlock); - if (r && r != EAGAIN) + if (r && r != EBUSY && r != EAGAIN) abort(); if (r) @@ -146,7 +146,7 @@ int uv_rwlock_trywrlock(uv_rwlock_t* rwlock) { r = pthread_rwlock_trywrlock(rwlock); - if (r && r != EAGAIN) + if (r && r != EBUSY && r != EAGAIN) abort(); if (r)