public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Mike Jagdis <jaggy@purplet.demon.co.uk>
To: David Schwartz <davids@webmaster.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: PROBLEM: select() says closed socket readable
Date: Wed, 22 Aug 2001 10:26:11 +0100	[thread overview]
Message-ID: <3B837AB3.40308@purplet.demon.co.uk> (raw)
In-Reply-To: <NOEJJDACGOHCKNCOGFOMIEKBDFAA.davids@webmaster.com>

David Schwartz wrote:

> 	No, because 'select' is defined to work the same on both blocking and
> non-blocking sockets. Roughly, select should hit on read if a non-blocking
> read wouldn't return 'would block'.

Which may be the root of the problem. Linux seems to consider that
select indicates "would not block", whereas Solaris et. al. use
"ready to read". (The difference seems to exist in man pages too)
Clearly an unconnected socket "would not block" but is not
"ready to read".

> 	If you think about the cases where someone might actually do this, odds are
> you want the application's error handling code to launch. That won't happen
> if you never break out of select. However, if you do break out of select, do
> a read, and get an error, the problem will then be handled, rather than
> ignored.

No. If there is a correct behaviour defined in a standard we should
do that. Otherwise we should do what other systems do _unless_ there
is a clear benefit to doing something else. In this case doing
something else appears to create porting problems and confusion over
what select(2) means without any clear benefit.

So, we're back to the beginning: justify with reference or reason :-).

				Mike


  parent reply	other threads:[~2001-08-22  9:26 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-08-18  3:28 PROBLEM: select() says closed socket readable Jay Rogers
2001-08-18 16:27 ` kuznet
2001-08-18 22:52   ` Ton Hospel
2001-08-20 14:34   ` Jay Rogers
2001-08-20 15:03     ` David S. Miller
2001-08-20 15:29       ` Udo A. Steinberg
2001-08-21  9:02       ` Mike Jagdis
2001-08-21 17:35         ` David Schwartz
2001-08-21 18:38           ` Alan Cox
2001-08-21 19:01             ` David Schwartz
2001-08-22  9:26           ` Mike Jagdis [this message]
2001-08-22 21:40             ` David Schwartz
2001-08-23 10:30               ` Mike Jagdis
2001-08-23 10:56               ` [PATCH] " Mike Jagdis
2001-08-20 19:48     ` PROBLEM: " David Schwartz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3B837AB3.40308@purplet.demon.co.uk \
    --to=jaggy@purplet.demon.co.uk \
    --cc=davids@webmaster.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox