Skip to content

Commit 305e6b1

Browse files
committed
selftests/coredump: handle edge-triggered epoll correctly
by putting the file descriptor into non-blocking mode. Link: https://patch.msgid.link/20251028-work-coredump-signal-v1-16-ca449b7b7aa0@kernel.org Reviewed-by: Alexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.com> Signed-off-by: Christian Brauner <brauner@kernel.org>
1 parent 8b64f54 commit 305e6b1

1 file changed

Lines changed: 8 additions & 0 deletions

File tree

tools/testing/selftests/coredump/coredump_test_helpers.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -291,6 +291,14 @@ void process_coredump_worker(int fd_coredump, int fd_peer_pidfd, int fd_core_fil
291291
int epfd = -1;
292292
int exit_code = EXIT_FAILURE;
293293
struct epoll_event ev;
294+
int flags;
295+
296+
/* Set socket to non-blocking mode for edge-triggered epoll */
297+
flags = fcntl(fd_coredump, F_GETFL, 0);
298+
if (flags < 0)
299+
goto out;
300+
if (fcntl(fd_coredump, F_SETFL, flags | O_NONBLOCK) < 0)
301+
goto out;
294302

295303
epfd = epoll_create1(0);
296304
if (epfd < 0)

0 commit comments

Comments
 (0)