From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21995 invoked by alias); 15 Oct 2013 22:36:49 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 21986 invoked by uid 89); 15 Oct 2013 22:36:49 -0000 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 Received: from mho-02-ewr.mailhop.org (HELO mho-02-ewr.mailhop.org) (204.13.248.72) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Tue, 15 Oct 2013 22:36:48 +0000 Received: from pool-98-110-183-69.bstnma.fios.verizon.net ([98.110.183.69] helo=cgf.cx) by mho-02-ewr.mailhop.org with esmtpa (Exim 4.72) (envelope-from ) id 1VWDEM-0000rT-KF for cygwin@cygwin.com; Tue, 15 Oct 2013 22:36:46 +0000 Received: from cgf.cx (ednor.casa.cgf.cx [192.168.187.5]) by cgf.cx (Postfix) with ESMTP id DF16160114 for ; Tue, 15 Oct 2013 18:36:45 -0400 (EDT) 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 22:36:00 -0000 From: Christopher Faylor 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) X-SW-Source: 2013-10/txt/msg00214.txt.bz2 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