From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28020 invoked by alias); 15 Oct 2013 19:42:46 -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 28007 invoked by uid 89); 15 Oct 2013 19:42:45 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=1.0 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 19:42:45 +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 1VWAVu-000K3P-Vy for cygwin@cygwin.com; Tue, 15 Oct 2013 19:42:43 +0000 Received: from cgf.cx (ednor.casa.cgf.cx [192.168.187.5]) by cgf.cx (Postfix) with ESMTP id 3204260114 for ; Tue, 15 Oct 2013 15:42:42 -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: U2FsdGVkX18TiH4eHCOdaq0MDyrzF7si Date: Tue, 15 Oct 2013 19:42:00 -0000 From: Christopher Faylor To: cygwin@cygwin.com Subject: Re: siginfo_t missing member si_band Message-ID: <20131015194242.GA2368@ednor.casa.cgf.cx> Reply-To: cygwin@cygwin.com Mail-Followup-To: cygwin@cygwin.com References: <525D55B3.3050002@cs.utoronto.ca> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <525D55B3.3050002@cs.utoronto.ca> User-Agent: Mutt/1.5.20 (2009-06-14) X-SW-Source: 2013-10/txt/msg00208.txt.bz2 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