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:
parent
029a43997d
commit
85adf43e03
@ -162,10 +162,13 @@ int uv_rwlock_tryrdlock(uv_rwlock_t* rwlock) {
|
|||||||
int err;
|
int err;
|
||||||
|
|
||||||
err = pthread_rwlock_tryrdlock(rwlock);
|
err = pthread_rwlock_tryrdlock(rwlock);
|
||||||
if (err && err != EBUSY && err != EAGAIN)
|
if (err) {
|
||||||
|
if (err != EBUSY && err != EAGAIN)
|
||||||
abort();
|
abort();
|
||||||
|
return -EBUSY;
|
||||||
|
}
|
||||||
|
|
||||||
return -err;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -185,10 +188,13 @@ int uv_rwlock_trywrlock(uv_rwlock_t* rwlock) {
|
|||||||
int err;
|
int err;
|
||||||
|
|
||||||
err = pthread_rwlock_trywrlock(rwlock);
|
err = pthread_rwlock_trywrlock(rwlock);
|
||||||
if (err && err != EBUSY && err != EAGAIN)
|
if (err) {
|
||||||
|
if (err != EBUSY && err != EAGAIN)
|
||||||
abort();
|
abort();
|
||||||
|
return -EBUSY;
|
||||||
|
}
|
||||||
|
|
||||||
return -err;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user