Linux epoll implementation

Gary Jennejohn gljennjohn at gmail.com
Sun Sep 20 11:03:33 UTC 2015


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.

-- 
Gary Jennejohn


More information about the freebsd-emulation mailing list