qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Missing system calls retries in case of EINTR


From: Yigael Fleishman
Subject: Re: [Qemu-devel] Missing system calls retries in case of EINTR
Date: Tue, 10 Jul 2007 17:57:34 -0700

Rob,
Thanks, that should also work.
Seems do_sigaction() in linux-user/signal.c has some code which does that (though obviously not for the signal that I'm receiving).
Any idea why SA_RESTART calls are not invoked by default to restart syscalls for all signals?
--Yigael


On 7/6/07, Rob Landley <address@hidden> wrote:
On Monday 25 June 2007 20:14:24 Yigael Fleishman wrote:
> Running qemu on a Ubuntu Feisty host I've encountered an occasional
> failure-to-launch problem.
> I've used the "-serial /dev/ttyS0" at the command line, and qemu would
> often exit printing "could not open serial device".
> Looking in the srcs I've noticed that  qemu_chr_open_tty does not retry the
> 'open' syscall if it fails and errno=EINTR.
> I've added a retry for such case and it seems to solve that specific
> problem (see the following patch).
> Furthermore, I've noticed that all open, read and some write calls in
> vl.care not retried in such cases.

Please don't play whack-a-mole with this.  You probably want
sigaction(SA_RESTART) when running system emulation.

Rob
--
"One of my most productive days was throwing away 1000 lines of code."
  - Ken Thompson.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]