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?

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

      

Back to the top