On 2009-10-28, Nick Garnett <[email protected]> wrote: > Grant Edwards <[email protected]> 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
