X-Recipient: archive-cygwin AT delorie DOT 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 AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT 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 AT dyndns DOT 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 To: cygwin AT cygwin DOT com Subject: Re: siginfo_t missing member si_band Message-ID: <20131015223645.GB7490@ednor.casa.cgf.cx> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <525D55B3 DOT 3050002 AT cs DOT utoronto DOT ca> <20131015194242 DOT GA2368 AT ednor DOT casa DOT cgf DOT cx> <525DB015 DOT 1010707 AT cs DOT utoronto DOT 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