[PATCH] [Server]: when getting the status of an exception, ensure the debugger continue information is not erased when releasing objects

Alexandre Julliard julliard at winehq.org
Mon Nov 30 16:27:55 CST 2009

Eric Pouech <eric.pouech at orange.fr> writes:

> what happens is something like:
> process P being debugged by D
> - while processing a debug event (fetched in P, P calls
> ntdll at send_debug_event, and waits for the debugger to process the
> event)
> - D gets the event, and the user asks for quit in D. D sends back to
> wineserver a DBG_CONTINUE response to the event
> - D then dies before P runs again
> - P then calls server at get_exception_status, where when getting the
> status from the debugger, (which should be DBG_CONTINUE, and it is
> before releasing the debug event). but while releasing the debug
> event, someone clears the status, and we get 0 from the
> get_exception_status event
> I didn't check in details which clear_error() is to blame in server,
> but close_thread_desktop (from a cursory look) could be to blame

That one probably shouldn't clear the error, but I don't see how you'd
get there by releasing an event. Do you have a backtrace?

Alexandre Julliard
julliard at winehq.org

More information about the wine-devel mailing list