From: Ben Greear <greearb@candelatech.com>
To: root@chaos.analogic.com
Cc: Chris Friesen <cfriesen@nortelnetworks.com>,
linux-kernel@vger.kernel.org
Subject: Re: want opinions on possible glitch in 2.4 network error reporting
Date: Wed, 06 Feb 2002 14:45:58 -0700 [thread overview]
Message-ID: <3C61A416.3040703@candelatech.com> (raw)
In-Reply-To: <Pine.LNX.3.95.1020206154220.29419A-100000@chaos.analogic.com>
However, if you use non-blocking IO you will get EAGAIN if
there is no buffer space. Blocking calls should always
block untill there is buffer space.
Also, just because select says the socket/poll is writable, it
may not be (immediately) because you can send UDP packets
that are larger than 2048 bytes, and that is the cutoff that
tells select the socket is writable...
I've actually sent a patch to Dave Miller to make select/poll
wait untill there is 64k of buffer space (the maximum size of
a UDP packet), but he is still reviewing the issue.
Enjoy,
Ben
Richard B. Johnson wrote:
> On Wed, 6 Feb 2002, Chris Friesen wrote:
>
> [SNIPPED...]
>
>
>
>>I ran into a somewhat related issue on a 2.2.16 system, where I had an app that
>>was calling sendto() on 217000 packets/sec, even though the wire could only
>>handle about 127000 packets/sec. I got no errors at all in sendto, even though
>>over a third of the packets were not actually being sent.
>>
>>
>
> In principle, sendto() will always succeed unless you provided the
> wrong parameters in the function call, or the machines crashes, at
> which time your task won't be there to receive the error code anyway.
>
> Hackers code sendto as:
> sendto(s,...);
> Professional programmers use:
> (void)sendto(s,...);
>
> checking the return value is useless.
>
> Note that the man-page specifically states that ENOBUFS can't happen.
>
> You cannot assume that any sendto() data actually gets on the wire, much
> less to its destination. With any user-datagram-protocol, both ends,
> sender and receiver, have to work out what they will do with missing
> packets and packets received out-of-order.
>
>
> Cheers,
> Dick Johnson
--
Ben Greear <greearb@candelatech.com> <Ben_Greear AT excite.com>
President of Candela Technologies Inc http://www.candelatech.com
ScryMUD: http://scry.wanfear.com http://scry.wanfear.com/~greear
next prev parent reply other threads:[~2002-02-06 21:57 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-02-06 20:31 want opinions on possible glitch in 2.4 network error reporting Chris Friesen
2002-02-06 20:56 ` Richard B. Johnson
2002-02-06 21:45 ` Ben Greear [this message]
2002-02-06 22:23 ` Chris Friesen
2002-02-07 13:44 ` Richard B. Johnson
2002-02-07 16:33 ` Gerold Jury
2002-02-07 0:24 ` Alan Cox
2002-02-07 0:26 ` Alan Cox
2002-02-07 1:51 ` Ion Badulescu
2002-02-07 2:08 ` Alan Cox
2002-02-07 2:09 ` Ion Badulescu
2002-02-07 2:34 ` Alan Cox
2002-02-07 2:54 ` Ion Badulescu
2002-02-07 11:11 ` Alan Cox
2002-02-08 16:11 ` Pavel Machek
2002-02-08 21:39 ` Ion Badulescu
2002-02-07 4:21 ` Ben Greear
2002-02-07 4:38 ` David S. Miller
2002-02-07 4:56 ` Ben Greear
2002-02-07 4:23 ` Ben Greear
2002-02-07 4:37 ` Ion Badulescu
2002-02-07 9:22 ` Luis Garces
[not found] <3C6192A5.911D5B4F@nortelnetworks.com.suse.lists.linux.kernel>
2002-02-07 0:06 ` Andi Kleen
2002-02-07 15:59 ` Chris Friesen
2002-02-07 16:01 ` Andi Kleen
[not found] <E16Ydys-0007D6-00@the-village.bc.nu.suse.lists.linux.kernel>
[not found] ` <Pine.LNX.4.44.0202062101390.4832-100000@age.cs.columbia.edu.suse.lists.linux.kernel>
2002-02-07 2:47 ` Andi Kleen
2002-02-07 6:25 ` Chris Friesen
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=3C61A416.3040703@candelatech.com \
--to=greearb@candelatech.com \
--cc=cfriesen@nortelnetworks.com \
--cc=linux-kernel@vger.kernel.org \
--cc=root@chaos.analogic.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