This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Re: What causes interrupted network system calls?
On 2009-10-28, Grant Edwards <grant.b.edwards@gmail.com> wrote:
> On 2009-10-28, Nick Garnett <nickg@ecoscentric.com> wrote:
>> Grant Edwards <grant.b.edwards@gmail.com> writes:
>>
>>> 1) in the same situation we never saw EINTR with the previous
>>> network stack.
>>
>> It is probable that the OpenBSD stack totally ignored signals
>> and therefore wouldn't necessarily do the right thing. The
>> FreeBSD stack is better integrated with POSIX support.
>
> We're not using POSIX support.
We do have CYGPKG_LIBC_SIGNALS (it comes in with one of the
network templates), but nobody ever calls raise(), and I'm
pretty sure nobody ever calls signal() either.
We're getting pretty good results with retrying the send()
once, and if it fails a second time then closing and reopening
the connection. Just retrying doesn't seem to help.
Our copy of the network stack is mostly a few years old, so I'm
going to see if I can build with a current snapshot of the
FreeBSD net package.
--
Grant Edwards grante Yow! Uh-oh!! I'm having
at TOO MUCH FUN!!
visi.com
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss