On Wed, 2016-05-25 at 22:44 -0700, Keith Packard wrote:

> It's similar to the NotifyFd interfaces added to the OS layer, but has
> the ability to support both level-triggered and edge-triggered
> notifications. Using edge-triggered notifications along with epoll
> reduces the notifications received from the kernel when the server is
> busy as only newly ready clients appear.

Exposing edge/level in ospoll_add is a bit funky, you're silently
degrading edge to level if the OS backend can't do edge. kqueue could do
it if the code were written, and I suspect win32's WaitForMultipleObjects
could be made to do it if we got really wild, but Solaris doesn't have an
edge-triggered API for this at all (does have port_create which is
basically level-triggered epoll, but).

If the intent is that asking for edge is an indication that the caller
_can_ use edge-triggers but will work with either then I guess that's
fine. A comment to that effect would be good.

- ajax
_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to