git: 4a1f66b81f24 - stable/13 - Revert "linux(4): The futex_wait operation should restart."
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 29 Jun 2023 08:20:52 UTC
The branch stable/13 has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=4a1f66b81f24c4ae0207e2898eba145299609308 commit 4a1f66b81f24c4ae0207e2898eba145299609308 Author: Dmitry Chagin <dchagin@FreeBSD.org> AuthorDate: 2023-06-11 09:47:27 +0000 Commit: Dmitry Chagin <dchagin@FreeBSD.org> CommitDate: 2023-06-29 08:16:03 +0000 Revert "linux(4): The futex_wait operation should restart." This reverts commit 5eec19c8eb0e1afafd7290325c61611c9a13b621 due to its wrong. Linux interrupts futex syscall on signal and return EINTR. (cherry picked from commit 486459056822f080b1ae24600a4c6a7d8ff6f7d6) --- sys/compat/linux/linux_futex.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/compat/linux/linux_futex.c b/sys/compat/linux/linux_futex.c index 74f89e3d49fb..d265b015b799 100644 --- a/sys/compat/linux/linux_futex.c +++ b/sys/compat/linux/linux_futex.c @@ -786,6 +786,8 @@ linux_futex_wait(struct thread *td, struct linux_futex_args *args) } umtxq_unlock(&uq->uq_key); umtx_key_release(&uq->uq_key); + if (error == ERESTART) + error = EINTR; return (error); }