Linux epoll implementation
Mario Lobo
lobo at bsd.com.br
Sun Sep 20 15:35:55 UTC 2015
On Sun, 20 Sep 2015 13:03:26 +0200
Gary Jennejohn <gljennjohn at gmail.com> wrote:
> On Sat, 19 Sep 2015 13:06:25 -0300
> Mario Lobo <lobo at bsd.com.br> wrote:
>
> > Hi;
> >
> > I'm trying to compile this epoll implementation into the kernel
> > following
> >
> > https://wiki.freebsd.org/linux-kernel
> >
> > using the patch provided.
> >
> > The patch applies fine but when compiling the kernel, it stops at
> > this:
> >
> > /usr/src/sys/modules/linux/../../compat/linux/linux_epoll.c:66:10:
> > error: implicit declaration of function 'kqueue' is invalid in C99
> > [-Werror,-Wimplicit-function-declaration]
> > return (kqueue(td, &k_args));
> >
> >
> > That is the only reference to kqueue on the
> > patched code at /usr/src/sys/compat/linux/
> >
> > This kqueue call is very different from the one provided in man
> > kqueue:
> >
> > int kqueue(void);
> >
> > so I really ran out of options on finding out what this kqueue call
> > really is about.
> >
> > Would anyone have any pointers on this?
> >
>
> NOTE: I'm referencing HEAD here.
>
> epoll() is a system call (syscall), so it will be using the
> kernel interfaces.
>
> The only kqueue-related syscall with the same arguments is
> sys_kqueue(). Try using that instead.
>
Yes! That solved the compilation problem. Tomorrow I'll test to see if
the implementation works.
Thanks Gary!
--
Mario Lobo
http://www.mallavoodoo.com.br
FreeBSD since 2.2.8 [not Pro-Audio.... YET!!]
"UNIX was not designed to stop you from doing stupid things,
because that would also stop you from doing clever things."
More information about the freebsd-emulation
mailing list