Re: POSIX compatibility?

Ulrich Drepper (drepper@myware.rz.uni-karlsruhe.de)
11 Dec 1996 15:26:33 +0100


Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> writes:

> Tracing a program changes the behaviour of interruptable syscalls. This
> should be fixed in the kernel sometime, but it is difficult because the
> context of the interrupted syscall is lost after the debugger has been
> called. I tried to get it right in Linux/m68k, but i didn't succeed. The
> GDB testsuite is a good place to find the difficult parts.
>
> So actually read() does return EINTR, but only when not tracing.

OK, thanks a lot. It turned out to be a problem in the libio code.
The code explicitly tells to ingnore this error type.

I looked through POSIX.1 and found no hint. There are no additions
to ISO C defined and ISO C itself does not specify this situation.

So I decided to go with the POSIX test suite and make the libio
functions return an error.

Sorry for blaming the kernel if it was the fault of the libc.

-- Uli
---------------. drepper@cygnus.com ,-. Rubensstrasse 5
Ulrich Drepper \ ,-------------------' \ 76149 Karlsruhe/Germany
Cygnus Solutions `--' drepper@gnu.ai.mit.edu `------------------------