[Bug 240590] Linuxulator: EPOLLONESHOT is broken

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Tue Dec 3 23:12:22 UTC 2019


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=240590

--- Comment #11 from commit-hook at freebsd.org ---
A commit references this bug:

Author: wulf
Date: Tue Dec  3 23:11:41 UTC 2019
New revision: 355372
URL: https://svnweb.freebsd.org/changeset/base/355372

Log:
  MFC r355065 - r355068: Linux epoll improvements.

  r355065:
  Linux epoll: Don't deregister file descriptor after EPOLLONESHOT is fired

  Linux epoll does not remove descriptor after one-shot event has been
triggered.
  Set EV_DISPATCH kqueue flag rather then EV_ONESHOT to get the same behavior.

  Required by Linux Steam client.

  PR:           240590
  Reported by:  Alex S <iwtcex at gmail.com>
  Reviewed by:  emaste, imp
  Differential Revision:        https://reviews.freebsd.org/D22513

  r355066:
  Linux epoll: Check both read and write kqueue events existence in
EPOLL_CTL_ADD

  Linux epoll EPOLL_CTL_ADD op handler should always check registration
  of both EVFILT_READ and EVFILT_WRITE kevents to deceide if supplied
  file descriptor fd is already registered with epoll instance.

  Reviewed by:  emaste
  Differential Revision:        https://reviews.freebsd.org/D22515

  r355067:
  Linux epoll: Register events with zero event mask

  Such an events are legal and should be interpreted as EPOLLERR | EPOLLHUP.
  Register a disabled kqueue event in that case as we do not support EPOLLHUP
yet.

  Required by Linux Steam client.

  PR:           240590
  Reported by:  Alex S <iwtcex at gmail.com>
  Reviewed by:  emaste
  Differential Revision:        https://reviews.freebsd.org/D22516

  r355068:
  Linux epoll: Allow passing of any negative timeout value to epoll_wait

  Linux epoll allow passing of any negative timeout value to epoll_wait()
  to cause unbound blocking

  Reviewed by:  emaste
  Differential Revision:        https://reviews.freebsd.org/D22517

Changes:
_U  stable/12/
  stable/12/sys/compat/linux/linux_event.c
  stable/12/sys/compat/linux/linux_event.h

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the freebsd-emulation mailing list