mirror of
https://github.com/torvalds/linux.git
synced 2026-06-02 19:43:40 +02:00
selftests/uffd: allow EINTR/EAGAIN
This allow test to continue with interruptions like gdb. Link: https://lkml.kernel.org/r/20211115135219.85881-1-peterx@redhat.com Signed-off-by: Peter Xu <peterx@redhat.com> Reviewed-by: Axel Rasmussen <axelrasmussen@google.com> Cc: Andrea Arcangeli <aarcange@redhat.com> Cc: Nadav Amit <nadav.amit@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
209376ed2a
commit
fab5150548
|
|
@ -648,7 +648,7 @@ static int uffd_read_msg(int ufd, struct uffd_msg *msg)
|
|||
|
||||
if (ret != sizeof(*msg)) {
|
||||
if (ret < 0) {
|
||||
if (errno == EAGAIN)
|
||||
if (errno == EAGAIN || errno == EINTR)
|
||||
return 1;
|
||||
err("blocking read error");
|
||||
} else {
|
||||
|
|
@ -724,8 +724,11 @@ static void *uffd_poll_thread(void *arg)
|
|||
|
||||
for (;;) {
|
||||
ret = poll(pollfd, 2, -1);
|
||||
if (ret <= 0)
|
||||
if (ret <= 0) {
|
||||
if (errno == EINTR || errno == EAGAIN)
|
||||
continue;
|
||||
err("poll error: %d", ret);
|
||||
}
|
||||
if (pollfd[1].revents & POLLIN) {
|
||||
if (read(pollfd[1].fd, &tmp_chr, 1) != 1)
|
||||
err("read pipefd error");
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user