[Bug 256952] kqueue(2): Improve epoll Linux compatibility (compat/linux/linux_event)

From: <bugzilla-noreply_at_freebsd.org>
Date: Mon, 09 Aug 2021 09:55:27 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=256952

--- Comment #6 from Vico <vico13.chen@gmail.com> ---
Created attachment 227040
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=227040&action=edit
Test cases

This test case only handles EPOLLRDHUP:
1. Run this case on Linux, it prints two lines that events are recieved(
'0x2010': EPOLLHUP & EPOLLRDHUP)
​2. Run this case on BSD, it will hang as no EPOLLHUP or EPOLLRDHUP reported.​
​3. Run this case on BSD with this patch, it prints two events:
   a. First: print 'eventmask 0'. EPOLLIN reported as READ, and this patch just
mask it but it still wake up the epoll_wait. (we have following patch to fix
this issue)
   b. Second: print 'eventmask 0x2010'. EPOLLHUP & EPOLLRDHUP are recieved for
close.

-- 
You are receiving this mail because:
You are the assignee for the bug.