Hi,

we use the lib in flow-tools for some other programs. One of these also
forks off children and uses a signal handler to keep track of them. Now,
when calling ftio_read(), it can happen that the read() gets interrupted by
the signal handler, so that read() returns with errno == EINTR. 

I think that ftio_read() should simply retry the read() in this case as
usual, but it doesn't - ftio_read() returns, leaving a message in the log
that read() returned EINTR ... (well, and writing this to the log clears
errno, so the caller has no way to handle this case).

The fix seems easy, but I find it strange that there's nobody else who has
encountered this case, with flow-tools being rather old. Google does not
find anything related. And my C programming ability is a bit rusty ...

So, am I on the wrong path?


Kind regards

Michael Radziej


-- 
noris network AG - Deutschherrnstraße 15-19 - D-90429 Nürnberg -
Tel +49-911-9352-0 - Fax +49-911-9352-100
http://www.noris.de - The IT-Outsourcing Company
 
Vorstand: Ingo Kraupa (Vorsitzender), Joachim Astel, Hansjochen Klenk - 
Vorsitzender des Aufsichtsrats: Stefan Schnabel - AG Nürnberg HRB 17689
_______________________________________________
Flow-tools mailing list
[email protected]
http://mailman.splintered.net/mailman/listinfo/flow-tools

Reply via email to