On Tue, Mar 26, 2013 at 11:03:53AM +0100, Paolo Bonzini wrote:
> Il 26/03/2013 10:54, Stefan Hajnoczi ha scritto:
> > On Tue, Mar 26, 2013 at 08:03:50AM +0100, Paolo Bonzini wrote:
> >> Il 26/03/2013 03:50, Wenchao Xia ha scritto:
> >>>   When I using tcg with coroutine backend = gthread,
> >>> x86_64-softmmu/qemu-system-x86_64 will hung. Any one
> >>> working on it?
> >>
> >> coroutine backend gthread hardly works for qemu, only qemu-io and qemu-img.
> > 
> > Do you know why it doesn't work?
> 
> Because it screws up the signals.  Coroutines can start in a thread and
> later move to another.  If you use the gthread backend, coroutines keep
> the signal mask of the thread where they were created.
> 
> It is basically the same bug that was fixed in commit 6ab7e54 (Replace
> all setjmp()/longjmp() with sigsetjmp()/siglongjmp(), 2013-02-20).

That's interesting.  Maybe it can be fixed if the gthread backend is
actually needed.

Stefan

Reply via email to