qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] coroutine: hung when using gthread backend


From: Paolo Bonzini
Subject: Re: [Qemu-devel] coroutine: hung when using gthread backend
Date: Tue, 26 Mar 2013 11:03:53 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130311 Thunderbird/17.0.4

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).

Paolo



reply via email to

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