Skip to content

Commit

Permalink
linux: disable io_uring on ppc64 and ppc64le (#4285)
Browse files Browse the repository at this point in the history
Since `io_uring` support was added, libuv's signal handler randomly
segfaults on ppc64 when interrupting `epoll_pwait`.  Disable it
pending further investigation.

Issue: #4283
  • Loading branch information
bradking committed Jan 13, 2024
1 parent a7cbda9 commit 3b6a1a1
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions src/unix/linux.c
Original file line number Diff line number Diff line change
Expand Up @@ -463,6 +463,9 @@ static int uv__use_io_uring(void) {
#elif defined(__arm__) && __SIZEOF_POINTER__ == 4
/* See https://github.com/libuv/libuv/issues/4158. */
return 0; /* All 32 bits kernels appear buggy. */
#elif defined(__powerpc64__) || defined(__ppc64__)
/* See https://github.com/libuv/libuv/issues/4283. */
return 0; /* Random SIGSEGV in signal handler. */
#else
/* Ternary: unknown=0, yes=1, no=-1 */
static _Atomic int use_io_uring;
Expand Down

0 comments on commit 3b6a1a1

Please sign in to comment.