[New-bugs-announce] [issue31893] Issues with kqueue

Serhiy Storchaka report at bugs.python.org
Sun Oct 29 07:44:41 EDT 2017


New submission from Serhiy Storchaka <storchaka+cpython at gmail.com>:

In Modules/selectmodule.c it is assumed that the kevent structure is defined on FreeBSD and NetBSD as:

     struct kevent {
             uintptr_t ident;
             short     filter;
             u_short   flags;
             u_int     fflags;
             intptr_t  data;
             uintptr_t udata;
     };

and on OpenBSD as:

     struct kevent {
             u_int     ident;
             short     filter;
             u_short   flags;
             u_int     fflags;
             intptr_t  data;
             int       udata;
     };


Actually it is defined on FreeBSD as:

     struct kevent {
             uintptr_t ident;
             short     filter;
             u_short   flags;
             u_int     fflags;
             intptr_t  data;
             void      *udata;
     };

On OpenBSD as:

     struct kevent {
             uintptr_t ident;
             short     filter;
             u_short   flags;
             u_int     fflags;
             int64_t   data;
             void      *udata;
     };

And on NetBSD as:

     struct kevent {
             uintptr_t ident;
             uint32_t  filter;
             uint32_t  flags;
             uint32_t  fflags;
             int64_t   data;
             intptr_t  udata;
     };

Other issues are related to rich comparison. Due to integer overflows the ordering is not transitive. The rich comparison protocol is not properly supported, comparing a kevent_event object with a non-kevent_event object don't falls back to the rich comparison methods of the right arguments.

----------
assignee: serhiy.storchaka
components: Extension Modules, FreeBSD
messages: 305187
nosy: koobs, serhiy.storchaka
priority: normal
severity: normal
status: open
title: Issues with kqueue
type: behavior
versions: Python 2.7, Python 3.6, Python 3.7

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue31893>
_______________________________________


More information about the New-bugs-announce mailing list