Browse Source

deps: backport 85adf43e from libuv upstream

Original commit message:

    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>

PR-URL: https://github.com/nodejs/node-private/pull/54
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
v0.12-staging
Rod Vagg 9 years ago
parent
commit
9207a00f8e
  1. 18
      deps/uv/src/unix/thread.c

18
deps/uv/src/unix/thread.c

@ -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)
abort();
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)
abort();
if (err) {
if (err != EBUSY && err != EAGAIN)
abort();
return -EBUSY;
}
return -err;
return 0;
}

Loading…
Cancel
Save