[Mono-devel-list] Mono.Debugger: Async command handling
kratz at omnicore.com
Tue Jan 25 05:17:35 EST 2005
I have started implementing support for debugging with Mono in X-develop.
For starters I tried implementing simple support for suspending and
resuming all (non-daemon) threads in the VM. Suspending them works fine
except for the obvious races caused by the lack of a VM-wide suspend.
Resuming all threads does not work as well. The problem I ran into is
that there can only be one asynchronous command pending at any given
time and continuing a thread in background is only available as an
asynchronous command. Thus I can not reliably continue all threads with
Process.Continue(true, false) because I have no idea when the
asynchronous invoation of Process.Continue() finishes.
This problem could be solved by changing ThreadManager to have a Command
queue instead of the current_command field. This lifts the limitation of
having only one asynchronous command pending at any given time.
Comments? Should I go ahead, change this and send a patch?
More information about the Mono-devel-list