aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/arch/um/include/shared/os.h
diff options
context:
space:
mode:
authorTiwei Bie <tiwei.btw@antgroup.com>2025-03-16 00:19:08 +0800
committerJohannes Berg <johannes.berg@intel.com>2025-03-20 09:28:44 +0100
commit33c9da5dfb18c2ff5a88d01aca2cf253cd0ac3bc (patch)
tree0ef75011ee477633de8c882d696314eca6fffefb /arch/um/include/shared/os.h
parentum: Prohibit the VM_CLONE flag in run_helper_thread() (diff)
downloadwireguard-linux-33c9da5dfb18c2ff5a88d01aca2cf253cd0ac3bc.tar.xz
wireguard-linux-33c9da5dfb18c2ff5a88d01aca2cf253cd0ac3bc.zip
um: Rewrite the sigio workaround based on epoll and tgkill
The existing sigio workaround implementation removes FDs from the poll when events are triggered, requiring users to re-add them via add_sigio_fd() after processing. This introduces a potential race condition between FD removal in write_sigio_thread() and next_poll update in __add_sigio_fd(), and is inefficient due to frequent FD removal and re-addition. Rewrite the implementation based on epoll and tgkill for improved efficiency and reliability. Signed-off-by: Tiwei Bie <tiwei.btw@antgroup.com> Link: https://patch.msgid.link/20250315161910.4082396-2-tiwei.btw@antgroup.com Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'arch/um/include/shared/os.h')
-rw-r--r--arch/um/include/shared/os.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/um/include/shared/os.h b/arch/um/include/shared/os.h
index d0ae42911cb5..152a60080d5b 100644
--- a/arch/um/include/shared/os.h
+++ b/arch/um/include/shared/os.h
@@ -314,7 +314,7 @@ extern void um_irqs_resume(void);
extern int add_sigio_fd(int fd);
extern int ignore_sigio_fd(int fd);
extern void maybe_sigio_broken(int fd);
-extern void sigio_broken(int fd);
+extern void sigio_broken(void);
/*
* unlocked versions for IRQ controller code.
*