The select() do not masked signal in os_host_main_loop_wait.

For example, qemu-timer.c gives SIGALRM regularly.
Even if a buffer of select is empty, 
I think that it is a problem that this select() does exit by this SIGALRM.

--
E.Furukawa

> -----Original Message-----
> From: Stefan Hajnoczi [mailto:stefa...@gmail.com]
> Sent: Thursday, November 29, 2012 11:18 PM
> To: Furukawa, Eiji/古川 英治
> Cc: qemu-devel@nongnu.org
> Subject: Re: [Qemu-devel] main-loop.c: About Select handling
> 
> On Wed, Nov 28, 2012 at 03:08:24AM +0000, Furukawa, Eiji wrote:
> > About a source of qemu-1.2.0/main-loop.c The select handling of
> > os_host_main_loop_wait function I do not seem to do Exit by interrupts
> > such as SIGUSR1 Will not it be necessary to make modifications?
> >
> > Before
> >  LineNumber:308   ret = select(nfds + 1, &rfds, &wfds, &xfds, tvarg);
> >
> > After(Example)
> >     do {
> >         ret = select(nfds + 1, &rfds, &wfds, &xfds, tvarg);
> >     } while(ret == -1 && (errno == EINTR || errno == EAGAIN))
> 
> What is the specific bug or problem you're seeing?
> 
> QEMU uses several signals internally and sets up per-thread signal masks
> appropriately.
> 
> Stefan

Reply via email to