[ECOS] Re: What causes interrupted network system calls?
Nick Garnett
nickg@ecoscentric.com
Wed Oct 28 17:53:00 GMT 2009
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.
> 2) EINTR isn't listed as one of the possible return values for
> send(), but we seem to be getting it:
> http://ecos.sourceware.org/docs-3.0/ref/net-common-tcpip-manpages-send.html
>
Very weird. The current FreeBSD documentation also does not mention
EINTR. However Linux man pages do, as does the POSIX standard.
In general net stack calls return EINTR only if the thread is broken
out of a wait by cyg_thread_release(), and only POSIX signal handling
generally does that. If the application is using signals, then maybe
the signal masks need to be set up differently.
--
Nick Garnett eCos Kernel Architect
eCosCentric Limited http://www.eCosCentric.com The eCos experts
Barnwell House, Barnwell Drive, Cambridge, UK. Tel: +44 1223 245571
Registered in England and Wales: Reg No: 4422071
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
More information about the Ecos-discuss
mailing list