Hi Dobrin,
You should trust the comment that this method should be only called in
the session thread. Looking at the method you mentioned though:
protected IStatus run(final IProgressMonitor monitor) {
if (monitor.isCanceled()) {
return Status.CANCEL_STATUS;
}
final SourceLookupResult result = performLookup();
executeFromJob(new DsfRunnable() { public void run() {
if (!monitor.isCanceled()) {
fPrevResult = result;
fPrevFrameData = fFrameData;
fRunningLookupJob = null;
startDisplayJob(fPrevResult, fFrameData, fPage, fEventTriggered);
}
}});
return Status.OK_STATUS;
}
It seems that startDisplayJob() should always be called on the services
session thread as guranteed by executeFromJob().
-Pawel
On 09/15/2010 08:46 AM, Alexiev, Dobrin wrote:
Hello,
I noticed that DsfSourceDisplayAdapter.
startDisplayJob is
being called from a worker thread
DsfSourceDisplayAdapter.LookupJob.run().
At the same time there is a comment for
DsfSourceDisplayAdapter.
startDisplayJob “ To be called only on dispatch thread.”
I am debugging a problem that the
DsfSourceDisplayAdapter. doneStepping
is not called and that prevents the user from further stepping.
I’ll debug further the issue but I was wandering:
should I trust the
comment or;
the method is
intended to be called
from multiple threads?
Thanks
Dobrin
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev