Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[platform-dev] Why does DebugPlugin need eventlisteners in order to schedule runnables?


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) {

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,

Please consider the environment before printing this email


Back to the top