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:message-id:date:from:mime-version:to:subject :content-type:content-transfer-encoding; q=dns; s=default; b=hF0 qbPH4AKKS2BkN+nAp/Fhgx+ITZ+oYfUccb/LRNkJE2Lt6bxs8umj1caY1bCtVnY5 rEPSA3vWMHVhQiz/crgu/FE4BY3XGQdut6K131wN4WXTnNzsog6SXzKdg8zreYGR 5ANGvPbANgNvMhvMbQ/+wxbZeoHOLhVOYI/Om4Bg= 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:message-id:date:from:mime-version:to:subject :content-type:content-transfer-encoding; s=default; bh=3VNLFW02v kzUHg3Zh2qlkv4p750=; b=u/Gp7+J73xho2K2e00/+yTccIgBZ+E02ZbxCOnsHZ ZsQi0sTXvnRRknVa/TTiXmmQWKokg710crzA2ld2SiUDgnASW+DADKwYN6dJdU6k V7j1VXKGVAmjnxe/SPgLq9nqAfUSiTBnsiMcLZ7aETNJuwtn3cl1lj2KsmBQAiUz 3c= 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_50,RCVD_IN_DNSWL_LOW,RP_MATCHES_RCVD,SPF_NEUTRAL autolearn=ham version=3.3.2 X-HELO: bureau84.ns.utoronto.ca Message-ID: <525D55B3.3050002@cs.utoronto.ca> Date: Tue, 15 Oct 2013 10:48:19 -0400 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 AT cygwin DOT com" Subject: siginfo_t missing member si_band Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit X-IsSubscribed: yes 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