X-Recipient: archive-cygwin@delorie.com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
	:list-unsubscribe:list-subscribe:list-archive:list-post
	:list-help:sender:date:from:to:subject:message-id:reply-to
	:references:mime-version:content-type:in-reply-to; q=dns; s=
	default; b=lmo5IxaR9QUO8UFe8zcjESyRsk3oCFC7BgXA9aJ1k1vLS69CkRZ51
	UqfsSHRfhbfM3jmeQlKLd1EesNw0DZDey9QSa1aN2bqTyo6k9FluMGx1l21HP5ZC
	19VWpBAtwmuSMX61odDl+JO8366Odqt0knAmYvAjEy7wIwOONCpO5c=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
	:list-unsubscribe:list-subscribe:list-archive:list-post
	:list-help:sender:date:from:to:subject:message-id:reply-to
	:references:mime-version:content-type:in-reply-to; s=default;
	 bh=3pGf713DX0BCZimKUG+tG5p0Piw=; b=vVsk9yOhgDYptyKDbUXrTv5EfI1N
	7mch2FNYNFElcSw2efQWCb6pXiVqxlR9x3asQU1cFklB7l3THvZs/PkEDtwIxNz8
	wFgiutPsPJV4c8ltqbU0nqpnOv11vj/PK9l7cc6aeswKil3yNGhezliwcmm8c4eL
	oWdlGxzgaBoA5cY=
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=0.7 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.2
X-HELO: mho-02-ewr.mailhop.org
X-Mail-Handler: Dyn Standard SMTP by Dyn
X-Report-Abuse-To: abuse@dyndns.com (see http://www.dyndns.com/services/sendlabs/outbound_abuse.html for abuse reporting information)
X-MHO-User: U2FsdGVkX1+m21jht+jrCuHIUKNUu6qP
Date: Tue, 15 Oct 2013 18:36:45 -0400
From: Christopher Faylor <cgf-use-the-mailinglist-please@cygwin.com>
To: cygwin@cygwin.com
Subject: Re: siginfo_t missing member si_band
Message-ID: <20131015223645.GB7490@ednor.casa.cgf.cx>
Reply-To: cygwin@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
References: <525D55B3.3050002@cs.utoronto.ca> <20131015194242.GA2368@ednor.casa.cgf.cx> <525DB015.1010707@cs.utoronto.ca>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <525DB015.1010707@cs.utoronto.ca>
User-Agent: Mutt/1.5.20 (2009-06-14)

On Tue, Oct 15, 2013 at 05:13:57PM -0400, Ryan Johnson wrote:
>On 15/10/2013 3:42 PM, Christopher Faylor wrote:
>> 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.
>So that would be a vote for filing a bug upstream with python's FFI 
>interface to signal handling? Fair enough.

I guess so.  In a project that wasn't requestware or wishware it would
be a spur for someone to submit code to Cygwin to implement SIGPOLL and
it's accompanying siginfo_t handling.  Unfortunately, Cygwin seems to
be mainly requestware these days.

cgf

--
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

