This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Re: What causes interrupted network system calls?


 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]