Skip to content

Commit 9207a00

Browse files
committed
deps: backport 85adf43 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: libuv/libuv#525 PR-URL: libuv/libuv#535 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> PR-URL: nodejs-private/node-private#54 Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
1 parent 9627f34 commit 9207a00

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

deps/uv/src/unix/thread.c

+12-6
Original file line numberDiff line numberDiff line change
@@ -162,10 +162,13 @@ int uv_rwlock_tryrdlock(uv_rwlock_t* rwlock) {
162162
int err;
163163

164164
err = pthread_rwlock_tryrdlock(rwlock);
165-
if (err && err != EBUSY && err != EAGAIN)
166-
abort();
165+
if (err) {
166+
if (err != EBUSY && err != EAGAIN)
167+
abort();
168+
return -EBUSY;
169+
}
167170

168-
return -err;
171+
return 0;
169172
}
170173

171174

@@ -185,10 +188,13 @@ int uv_rwlock_trywrlock(uv_rwlock_t* rwlock) {
185188
int err;
186189

187190
err = pthread_rwlock_trywrlock(rwlock);
188-
if (err && err != EBUSY && err != EAGAIN)
189-
abort();
191+
if (err) {
192+
if (err != EBUSY && err != EAGAIN)
193+
abort();
194+
return -EBUSY;
195+
}
190196

191-
return -err;
197+
return 0;
192198
}
193199

194200

0 commit comments

Comments
 (0)