unix: consolidate rwlock tryrdlock trywrlock errors

Fold EAGAIN and EBUSY into EBUSY. This makes it consistent across all
Unix platforms and Windows.

Refs: https://github.com/libuv/libuv/pull/525
PR-URL: https://github.com/libuv/libuv/pull/535
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
This commit is contained in:
Saúl Ibarra Corretgé 2015-09-21 23:06:50 +02:00
parent 029a43997d
commit 85adf43e03

View File

@ -162,10 +162,13 @@ int uv_rwlock_tryrdlock(uv_rwlock_t* rwlock) {
int err;
err = pthread_rwlock_tryrdlock(rwlock);
if (err && err != EBUSY && err != EAGAIN)
if (err) {
if (err != EBUSY && err != EAGAIN)
abort();
return -EBUSY;
}
return -err;
return 0;
}
@ -185,10 +188,13 @@ int uv_rwlock_trywrlock(uv_rwlock_t* rwlock) {
int err;
err = pthread_rwlock_trywrlock(rwlock);
if (err && err != EBUSY && err != EAGAIN)
if (err) {
if (err != EBUSY && err != EAGAIN)
abort();
return -EBUSY;
}
return -err;
return 0;
}