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