This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: select() not interrupted by signals


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]