This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: epoll_pwait broken?
- From: "Carlos O'Donell" <carlos at systemhalted dot org>
- To: "Davin McCall" <davmac at davmac dot org>
- Cc: libc-alpha at sourceware dot org
- Date: Mon, 22 Jan 2007 23:13:03 -0500
- Subject: Re: epoll_pwait broken?
- References: <20070122153810.cf7d2714.davmac@davmac.org>
On 1/21/07, Davin McCall <davmac@davmac.org> wrote:
As a result epoll_pwait is currently broken - the sigset size value passed to the kernel will be some random value from the stack. Am I correct or am I missing something?
The interface is not broken. The header is missing the 6th argument.
If your code passes a 6th argument "size_t sigsetsize" then everything
works.
The 6th argument to the syscall is required and should match
sizeof(sigset_t) or the syscall will return -EINVAL.
FWIW I think a patch to "sysdeps/unix/sysv/linux/sys/epoll.h" adding
the 6th argument is the right thing to do.
c.