From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14888 invoked by alias); 15 Oct 2013 14:48:25 -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 14879 invoked by uid 89); 15 Oct 2013 14:48:25 -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_50,RCVD_IN_DNSWL_LOW,RP_MATCHES_RCVD,SPF_NEUTRAL autolearn=ham version=3.3.2 X-HELO: bureau84.ns.utoronto.ca Received: from bureau84.ns.utoronto.ca (HELO bureau84.ns.utoronto.ca) (128.100.132.184) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Tue, 15 Oct 2013 14:48:25 +0000 Received: from [192.168.1.111] (184-175-18-108.dsl.teksavvy.com [184.175.18.108] (may be forged)) (authenticated bits=0) by bureau84.ns.utoronto.ca (8.13.8/8.13.8) with ESMTP id r9FEmLtq018689 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Tue, 15 Oct 2013 10:48:22 -0400 Message-ID: <525D55B3.3050002@cs.utoronto.ca> Date: Tue, 15 Oct 2013 14:48:00 -0000 From: Ryan Johnson User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130801 Thunderbird/17.0.8 MIME-Version: 1.0 To: "cygwin@cygwin.com" Subject: siginfo_t missing member si_band Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit X-IsSubscribed: yes X-SW-Source: 2013-10/txt/msg00205.txt.bz2 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? Ryan -- 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