path: root/src/linux
diff options
authorRich Felker <>2012-08-09 22:52:13 -0400
committerRich Felker <>2012-08-09 22:52:13 -0400
commit2f437040e7911d9bef239588ea7ed6f4b9102922 (patch)
treecfb4950352818b7a3ed2f5be9d9425bbb0b7cd3a /src/linux
parent83b42d94bd1009da6a95052d9ef0edeb1c73c8e4 (diff)
fix (hopefully) all hard-coded 8's for kernel sigset_t size
some minor changes to how hard-coded sets for thread-related purposes are handled were also needed, since the old object sizes were not necessarily sufficient. things have gotten a bit ugly in this area, and i think a cleanup is in order at some point, but for now the goal is just to get the code working on all supported archs including mips, which was badly broken by linux rejecting syscalls with the wrong sigset_t size.
Diffstat (limited to 'src/linux')
2 files changed, 2 insertions, 2 deletions
diff --git a/src/linux/epoll_pwait.c b/src/linux/epoll_pwait.c
index 39ad5b77..3ecdbb59 100644
--- a/src/linux/epoll_pwait.c
+++ b/src/linux/epoll_pwait.c
@@ -3,5 +3,5 @@
int epoll_pwait(int fd, struct epoll_event *ev, int cnt, int to, const sigset_t *sigs)
- return syscall(SYS_epoll_pwait, fd, ev, cnt, to, sigs, 8);
+ return syscall(SYS_epoll_pwait, fd, ev, cnt, to, sigs, __SYSCALL_SSLEN);
diff --git a/src/linux/signalfd.c b/src/linux/signalfd.c
index 99c35143..1a6c03c3 100644
--- a/src/linux/signalfd.c
+++ b/src/linux/signalfd.c
@@ -3,5 +3,5 @@
int signalfd(int fd, const sigset_t *sigs, int flags)
- return syscall(SYS_signalfd, fd, sigs, 8);
+ return syscall(SYS_signalfd, fd, sigs, __SYSCALL_SSLEN);