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


Reply via email to