Messages in this thread | | | Subject | Re: POSIX compatibility? | From | Ulrich Drepper <> | Date | 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 `------------------------
| |