[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