[issue7416] select module compile errors breaks OS X multi-architecture builds

2009-12-01 Thread Michael Broghton
Changes by Michael Broghton : -- nosy: +mbroughton ___ Python tracker <http://bugs.python.org/issue7416> ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue7211] select module - kevent ident field 64 bit issue

2009-10-29 Thread Michael Broghton
Michael Broghton added the comment: Antoine, thanks for the tips and the example. I have updated the patch. I checked and this does apply cleanly to py3k. -- Added file: http://bugs.python.org/file15228/kevent.patch ___ Python tracker <h

[issue7211] select module - kevent ident field 64 bit issue

2009-10-27 Thread Michael Broghton
Michael Broghton added the comment: This is against release31-maint, if it matters. -- keywords: +patch Added file: http://bugs.python.org/file15212/kevent.patch ___ Python tracker <http://bugs.python.org/issue7

[issue7211] select module - kevent ident field 64 bit issue

2009-10-26 Thread Michael Broghton
Michael Broghton added the comment: Martin, thanks for your responses. In regards to point three: Kqueue's are not just used for file descriptors. I believe this is the reason why the ident field is a uintptr_t and not an int. The example I gave was for kqueue timers. Since the oper

[issue7211] select module - kevent ident field 64 bit issue

2009-10-26 Thread Michael Broghton
Michael Broghton added the comment: I'm not sure how to patch this so that it will work on both 32 and 64 bit systems. Issues: 1. What would be an appropriate member type for ident in kqueue_event_members? It seems like T_PYSSIZET might work. Otherwise, I am guessing that this will in

[issue7211] select module - kevent ident field 64 bit issue

2009-10-26 Thread Michael Broghton
New submission from Michael Broghton : On FreeBSD and MacOS 64-bit systems the ident field of a kevent is big enough to hold a 64-bit integer (uintptr_t). Looks like Python is casting it to an unsigned 32-bit integer. This is inconvenient for implementing kqueue timers, where id(timer_obj) is a