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 <[EMAIL PROTECTED]> 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