Message ID | 20220705132939.7744-1-dirk@dmllr.de (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Handle EINTR in tests | expand |
On Tue, 5 Jul 2022 15:29:39 +0200, Dirk Müller wrote: > On an otherwise busy machine the test suite is quite flaky. Restart > the syscalls that are aborted with EINTR. > > Applied, thanks! [1/1] Handle EINTR in tests commit: fa67f6aedcfdaffc14cbf0b631253477b2565ef0 Best regards,
diff --git a/test/ce593a6c480a.c b/test/ce593a6c480a.c index 1c5669e..4c71fbc 100644 --- a/test/ce593a6c480a.c +++ b/test/ce593a6c480a.c @@ -111,7 +111,10 @@ int main(int argc, char *argv[]) (void*) (intptr_t) other_fd); /* Wait on the event fd for an event to be ready */ - ret = read(loop_fd, buf, 8); + do { + ret = read(loop_fd, buf, 8); + } while (ret < 0 && errno == EINTR); + if (ret < 0) { perror("read"); return T_EXIT_FAIL; diff --git a/test/io-cancel.c b/test/io-cancel.c index d5e3ae9..13bf84f 100644 --- a/test/io-cancel.c +++ b/test/io-cancel.c @@ -365,8 +365,13 @@ static int test_cancel_req_across_fork(void) exit(0); } else { int wstatus; + pid_t childpid; - if (waitpid(p, &wstatus, 0) == (pid_t)-1) { + do { + childpid = waitpid(p, &wstatus, 0); + } while (childpid == (pid_t)-1 && errno == EINTR); + + if (childpid == (pid_t)-1) { perror("waitpid()"); return 1; }
On an otherwise busy machine the test suite is quite flaky. Restart the syscalls that are aborted with EINTR. Signed-off-by: Dirk Müller <dirk@dmllr.de> --- test/ce593a6c480a.c | 5 ++++- test/io-cancel.c | 7 ++++++- 2 files changed, 10 insertions(+), 2 deletions(-)