Lorenzo Campedelli wrote:
> Ramon van Handel wrote:
>
> > [snip]
> > Now, in GDB, press ctrl-c. The problem
> > is that for some reason, when the
> > debugger tries to read() from the socket
> > the read() function returns EINTR, which
> > makes the debugger get into an infinite
> > loop (redirect output to a file to see
> > this). The same thing happens when you
> > start up the preemptive kernel with the
> > debugger. What's wrong ? Why is it
> > doing EINTR ? And what do I do about it ?
>
> I would guess this is caused by the read() syscall
> being interrupted by some kind of signal.
> Any chances it is the SIGALRM used to run the timer
> things in bochs/pc_system.cc ???
If so, wouldn't the right thing to do be simply to restart
the system call ? I didn't actually try that, I wasn't sure
that was the correct way to handle an EINTR.
-- Ramon