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: What causes interrupted network system calls?


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.

>>  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.

We don't have any of the POSIX support enabled.

> If the application is using signals,

AFAIK, it isn't.

> then maybe the signal masks need to be set up differently.

I've just been told that retrying doesn't seem to help.  Once
you get an -EINTR, it will happen 5-10 times in a row.

-- 
Grant Edwards                   grante             Yow! Did you move a lot of
                                  at               KOREAN STEAK KNIVES this
                               visi.com            trip, Dingy?


-- 
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]