Skip to content

Commit da8501e

Browse files
committed
deps: backport bd1777fd from libuv upstream
Original commit message: unix, win: consolidate mutex trylock errors Fold EAGAIN into EBUSY, and make it the only acceptable error. PR-URL: libuv/libuv#535 Reviewed-By: Ben Noordhuis <[email protected]> PR-URL: nodejs-private/node-private#54 Reviewed-By: Saúl Ibarra Corretgé <[email protected]>
1 parent 9207a00 commit da8501e

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

deps/uv/src/unix/thread.c

+6-6
Original file line numberDiff line numberDiff line change
@@ -124,14 +124,14 @@ void uv_mutex_lock(uv_mutex_t* mutex) {
124124
int uv_mutex_trylock(uv_mutex_t* mutex) {
125125
int err;
126126

127-
/* FIXME(bnoordhuis) EAGAIN means recursive lock limit reached. Arguably
128-
* a bug, should probably abort rather than return -EAGAIN.
129-
*/
130127
err = pthread_mutex_trylock(mutex);
131-
if (err && err != EBUSY && err != EAGAIN)
132-
abort();
128+
if (err) {
129+
if (err != EBUSY && err != EAGAIN)
130+
abort();
131+
return -EBUSY;
132+
}
133133

134-
return -err;
134+
return 0;
135135
}
136136

137137

deps/uv/src/win/thread.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ int uv_mutex_trylock(uv_mutex_t* mutex) {
211211
if (TryEnterCriticalSection(mutex))
212212
return 0;
213213
else
214-
return UV_EAGAIN;
214+
return UV_EBUSY;
215215
}
216216

217217

0 commit comments

Comments
 (0)