Hi,
I have a question about the scheduling mechanism in
org.eclipse.debug.core.DebugPlugin.
This code in particular:
public boolean shouldSchedule() {
return !(isShuttingDown() ||
fEventListeners.isEmpty());
}
Why does the DebugPlugin need to have EventListeners
registered in order to schedule runnables?
Our use case is a debugger based on TCF. It uses the
RunToLineAdaper from CDT, with an adapter from TCF, in
order to perform a Run To Line action.
In CDT, this code will, through a few steps, end up
calling the shouldSchedule() above:
private void runInBackground(Runnable r) {
DebugPlugin.getDefault().asyncExec(r);
}
There are no EventListeners related to the DebugPlugin
regarding Run To Line in TCF, which makes me confused.
Run To Line just so happens to work if, and only if, I
have the Memory View open, since it has EventListeners
registered on the DebugPlugin. But those listeners are
unrelated to Run To Line.
Perhaps I need to reach out to the TCF or CDT mailing
list, but for starters I would be happy if someone could
explain why the shouldSchedule() function looks like it
does.
Best regards,
--
Anton Bäckström
Cobham Gaisler
Cobham Gaisler AB, Kungsgatan 12, SE-411 19, GÖTEBORG, Sweden.
+46 (0) 31 775 8650, www.cobhamaes.com/gaisler
Please consider the environment before printing this email
_______________________________________________