siginfo_t missing member si_band

Christopher Faylor cgf-use-the-mailinglist-please@cygwin.com
Tue Oct 15 19:42:00 GMT 2013


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


More information about the Cygwin mailing list

AltStyle によって変換されたページ (->オリジナル) /