Alexandre Julliard wrote:
What makes you think that? There is no such restriction in the API, you can get/set the context without suspending the thread. The obvious use case is a thread setting its own context.
Hmm, you must know something I don't :)
MSDN (I know, I know ...) says:
"You cannot get a valid context for a running thread. Use the SuspendThread function to suspend the thread before calling GetThreadContext."
and
"If you call GetThreadContext for the current thread, the function returns successfully; however, the context returned is not valid."
also
"Do not try to set the context for a running thread; the results are unpredictable. Use the SuspendThread function to suspend the thread before calling SetThreadContext."
So I'd be surprised if any app actually relies on being able to do those things, as it's either not allowed or the results are likely to be garbage.
As for a thread setting its own context, I think it'd be OK to check for that and do a FIXME for now. That way if an app really tries to do it, we can use some custom assembly to achieve the right effect without getting the wineserver involved.
thanks -mike