This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: siginfo_t missing member si_band
- From: Christopher Faylor <cgf-use-the-mailinglist-please at cygwin dot com>
- To: cygwin at cygwin dot com
- Date: Tue, 15 Oct 2013 15:42:42 -0400
- Subject: Re: siginfo_t missing member si_band
- Authentication-results: sourceware.org; auth=none
- References: <525D55B3 dot 3050002 at cs dot utoronto dot ca>
- Reply-to: cygwin at cygwin dot com
On Tue, Oct 15, 2013 at 10:48:19AM -0400, Ryan Johnson wrote:
>Hi all,
>
>While trying to build python3 for cygwin, I kept encountering the
>following error message:
>
>./Modules/signalmodule.c: In function ?fill_siginfo?:
>./Modules/signalmodule.c:745:60: error: ?siginfo_t? has no member named
>?si_band?
>PyStructSequence_SET_ITEM(result, 6, PyLong_FromLong(si->si_band));
>^
>Include/tupleobject.h:62:75: note: in definition of macro
>?PyTuple_SET_ITEM?
>#define PyTuple_SET_ITEM(op, i, v) (((PyTupleObject *)(op))->ob_item[i]
>= v)
>^
>./Modules/signalmodule.c:745:5: note: in expansion of macro
>?PyStructSequence_SET_ITEM?
>PyStructSequence_SET_ITEM(result, 6, PyLong_FromLong(si->si_band));
>
>As far as I can tell, siginfo_t::si_band is mandated by POSIX.1-2001,
>and required for proper handling of SIGPOLL. The latter seems to
>correspond to async I/O with poll(2). I'm pretty sure cygwin doesn't
>support async I/O, but shouldn't the struct member at least exist, to
>avoid breaking code that assumes its existence? The alternative is to
>patch python3 locally so its os.sigwaitinfo function no longer touches
>si_band, or to file a bug upstream so that the module's configury tests
>for its existence before using it.
>
>Thoughts?
Sure. I question the utility of lying in a structure about the
availability of an unimplemented feature. If something is specifically
expecting the structure member to exist it seems like it would be
expecting it to do something.
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple