[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