[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] thread-win32: fix GetThreadContext() permanentl
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH] thread-win32: fix GetThreadContext() permanently fails |
Date: |
Tue, 23 Jun 2015 12:46:59 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 |
On 23/06/2015 12:30, Peter Maydell wrote:
> On 23 June 2015 at 10:55, Ян Завадовский <address@hidden> wrote:
>> On Tue, Jun 23, 2015 at 9:02 AM, Stefan Weil <address@hidden> wrote:
>>> We should add an URL to reliable documentation which supports that
>>> claim.
>>
>> Unfortunately, MSDN says only "SuspendThread suspends the thread. It's
>> designed for debuggers. Don't use in applications.":
>> https://msdn.microsoft.com/en-us/library/windows/desktop/ms686345(v=vs.85).aspx
>> And nothing more useful.
>> So when I found this piece of code with Suspend/Resume and failed GetContext
>> I did some googling.
>> And found this article:
>> http://blogs.msdn.com/b/oldnewthing/archive/2015/02/05/10591215.aspx
>
> Personally I am happy to treat a Raymond Chen blog post as "reliable
> documentation"...
Me too. :)
SuspendThread was pretty much the only way to emulate signals.
Initially I used SetThreadContext to redirect execution to cpu_signal;
that was more complicated, but in retrospect it would have avoided the
problems with memory barriers and with asynchronous SuspendThread. It
certainly would have saved the AdaCore people a lot of debugging time. :(
For 2.5, however, I wonder if SuspendThread/ResumeThread is needed at
all now that cpu_exit doesn't have to undo block chaining anymore. Even
on POSIX platforms the signal might not be necessary anymore.
Paolo
- [Qemu-devel] [PATCH] thread-win32: fix GetThreadContext() permanently fails, Zavadovsky Yan, 2015/06/22
- Re: [Qemu-devel] [PATCH] thread-win32: fix GetThreadContext() permanently fails, Stefan Weil, 2015/06/23
- Re: [Qemu-devel] [PATCH] thread-win32: fix GetThreadContext() permanently fails, Fabien Chouteau, 2015/06/23
- Re: [Qemu-devel] [PATCH] thread-win32: fix GetThreadContext() permanently fails, Ян Завадовский, 2015/06/23
- Re: [Qemu-devel] [PATCH] thread-win32: fix GetThreadContext() permanently fails, Peter Maydell, 2015/06/23
- Re: [Qemu-devel] [PATCH] thread-win32: fix GetThreadContext() permanently fails,
Paolo Bonzini <=
- Re: [Qemu-devel] [PATCH] thread-win32: fix GetThreadContext() permanently fails, Daniel P. Berrange, 2015/06/23
- Re: [Qemu-devel] [PATCH] thread-win32: fix GetThreadContext() permanently fails, Paolo Bonzini, 2015/06/23
- Re: [Qemu-devel] [PATCH] thread-win32: fix GetThreadContext() permanently fails, Daniel P. Berrange, 2015/06/23
- Re: [Qemu-devel] [PATCH] thread-win32: fix GetThreadContext() permanently fails, Paolo Bonzini, 2015/06/23
- Re: [Qemu-devel] [PATCH] thread-win32: fix GetThreadContext() permanently fails, Peter Maydell, 2015/06/23
- Re: [Qemu-devel] [PATCH] thread-win32: fix GetThreadContext() permanently fails, Stefan Weil, 2015/06/23
- Re: [Qemu-devel] [PATCH] thread-win32: fix GetThreadContext() permanently fails, Fabien Chouteau, 2015/06/24
- Re: [Qemu-devel] [PATCH] thread-win32: fix GetThreadContext() permanently fails, Peter Maydell, 2015/06/24