From: Krzysztof Halasa <khc@pm.waw.pl>
To: Jesse Pollard <jesse@cats-chateau.net>
Cc: Timothy Miller <miller@techsource.com>,
David Schwartz <davids@webmaster.com>,
linux-kernel@vger.kernel.org
Subject: Re: select for UNIX sockets?
Date: 11 Jun 2003 23:55:09 +0200 [thread overview]
Message-ID: <m3znkol1oi.fsf@defiant.pm.waw.pl> (raw)
In-Reply-To: <03061014044103.06462@tabby>
Jesse Pollard <jesse@cats-chateau.net> writes:
> As in: ALWAYS ready to write as soon as a connection is made. It can
> still block on a write if the amount to write is larger than the buffer
> available. Nothing is said about the AMOUNT that can be written
> (though with most FIFOs/pipes the limit is ~ 4K, though not guaranteed
> since other writers may fill it between the poll and the write.
Still, it is local (UNIX) datagram socket and thus the number of
datagrams is the limit, not the number of bytes. And yes, the problem
is present with 1-byte datagrams. And still, the problem is with select()
and not with send*().
It is *not* FIFO/pipe/stream socket etc. And not a UDP/IP socket either.
> A file descriptor for a socket that is listening for connec-
> tions will indicate that it is ready for reading, when con-
> nections are available. A file descriptor for a socket that
> is connecting asynchronously will indicate that it is ready
> for writing, when a connection has been established.
>
> as in "READY for writing", not that it won't block when you DO write.
>
> (Also "READY for reading", not that it won't block when you DO read.)
I think the above covers only stream-based connection establishing.
> You've been lucky to have relatively idle systems or large memory
> systems.
>
> I suspect you actually were blocking, just not for very long.
No. It is just something completely different.
I understand a system can have no such support. But, currently, Linux
has support which is broken.
--
Krzysztof Halasa
Network Administrator
next prev parent reply other threads:[~2003-06-11 21:43 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-06-06 12:20 select for UNIX sockets? MarKol
2003-06-07 0:14 ` David Schwartz
2003-06-08 0:04 ` Krzysztof Halasa
2003-06-09 3:11 ` David Schwartz
2003-06-09 17:18 ` Krzysztof Halasa
2003-06-09 17:55 ` David Schwartz
2003-06-09 22:24 ` Krzysztof Halasa
2003-06-10 13:34 ` Timothy Miller
2003-06-10 13:52 ` Richard B. Johnson
2003-06-10 14:21 ` Krzysztof Halasa
2003-06-10 19:04 ` Jesse Pollard
2003-06-11 21:55 ` Krzysztof Halasa [this message]
2003-06-11 22:50 ` David Schwartz
2003-06-11 12:51 ` Edgar Toernig
2003-06-10 21:40 ` David Schwartz
2003-06-11 22:04 ` Krzysztof Halasa
2003-06-09 23:45 ` James Stevenson
2003-06-08 4:15 ` Chris Friesen
2003-06-09 3:05 ` David Schwartz
2003-06-09 16:46 ` MarKol
2003-06-09 17:05 ` David Schwartz
-- strict thread matches above, loose matches on Subject: below --
2003-06-04 12:19 Petr Vandrovec
2003-06-06 0:28 ` Valdis.Kletnieks
2003-06-06 0:38 ` Petr Vandrovec
2003-06-03 0:08 Krzysztof Halasa
2003-06-03 14:51 ` Alan Cox
2003-06-04 23:27 ` Krzysztof Halasa
2003-06-05 13:17 ` Krzysztof Halasa
2003-06-04 11:55 ` Jesse Pollard
2003-06-04 12:42 ` Krzysztof Halasa
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=m3znkol1oi.fsf@defiant.pm.waw.pl \
--to=khc@pm.waw.pl \
--cc=davids@webmaster.com \
--cc=jesse@cats-chateau.net \
--cc=linux-kernel@vger.kernel.org \
--cc=miller@techsource.com \
/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