X-Recipient: archive-cygwin@delorie.com
X-SWARE-Spam-Status: No, hits=-2.9 required=5.0	tests=AWL,BAYES_00,KHOP_THREADED,RCVD_IN_DNSWL_NONE,RCVD_IN_HOSTKARMA_YE,SPF_HELO_PASS,TW_FD
X-Spam-Check-By: sourceware.org
Message-ID: <50F2B33E.7000704@towo.net>
Date: Sun, 13 Jan 2013 14:14:38 +0100
From: Thomas Wolff <towo@towo.net>
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:17.0) Gecko/20130107 Thunderbird/17.0.2
MIME-Version: 1.0
To: cygwin@cygwin.com
Subject: Re: select() not interrupted by signals
References: <50EFD041.4090108@towo.net> <20130111153857.GB3450@ednor.casa.cgf.cx> <50F1A047.7080109@towo.net> <20130112191451.GA16929@ednor.casa.cgf.cx>
In-Reply-To: <20130112191451.GA16929@ednor.casa.cgf.cx>
X-TagToolbar-Keys: D20130113141438425
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-IsSubscribed: yes
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com

Am 12.01.2013 20:14, schrieb Christopher Faylor:
> On Sat, Jan 12, 2013 at 06:41:27PM +0100, Thomas Wolff wrote:
>> Am 11.01.2013 16:38, schrieb Christopher Faylor:
>>> On Fri, Jan 11, 2013 at 09:41:37AM +0100, Thomas Wolff wrote:
>>>> ...
>>> ...
>>> select() is not restartable like read() or write().
>>>
>>> That behavior should be fixed in the next snapshot.  If you are seeing
>>> something different than this then that is not fixed.
>> ...
>> Not sure what exactly you mean with "select is not restartable" -
> http://pubs.opengroup.org/onlinepubs/9699919799/functions/sigaction.html
>
> Look for "restart".
>
>> actually, that made me test again more deeply, and it seems you
>> interrupt select() now on every signal;
>> as I understood it should only get interrupted on a signal related to a
>> file descriptor for which the bit in the exceptfds vector is set...
>> I'll recheck that on Unix next week.
> I have standard test cases for select() which do not use the "exceptfds"
> field.  They are interrupted by a signal on both Linux and Cygwin.  I
> don't see anything in the Single Unix Specification or Linux man page
> which would indicate that signals are in any way related to exceptfds.
Right, I had obviously misinterpreted the meaning of that vector. Thanks 
for the references.
Current patch is fine, checked with Linux as well.
> Also:
>
> http://stackoverflow.com/questions/1342712/nix-select-and-exceptfds-errorfds-semantics

--
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

