New submission from Ed Schouten:

Just like the BSDs and Mac OS X, CloudABI 
(https://mail.python.org/pipermail/python-dev/2016-July/145708.html) provides 
support for kqueue(). Its implementation, however, is far more limited. It can 
only be used for polling on descriptors (EVFILT_READ/EVFILT_WRITE) and waiting 
on timers (EVFILT_TIMER).

The existing selectmodule already allows some filters to be present optionally 
(e.g., EVFILT_NETDEV). The attached patch extends this work by only defining 
the filter and corresponding filter flags when available.

I've also added guards around EV_SYSFLAGS and EV_FLAG1. EV_SYSFLAGS is a flag 
that's typically only used by the kernel to trim off flags that are only used 
internally. EV_FLAG1 is an example of such a flag, which seems to be used by 
FreeBSD to mark incoming AIO events as validated. I would even go as far as to 
remove these two flags from the module entirely, but let's not take the risk.

----------
components: Extension Modules
files: patch-kqueue-EVFILT
messages: 276459
nosy: EdSchouten
priority: normal
severity: normal
status: open
title: [Patch] selectmodule: Make kqueue()'s event filters optional
versions: Python 3.6
Added file: http://bugs.python.org/file44662/patch-kqueue-EVFILT

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue28153>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to