import org.eclipse.linuxtools.tmf.core.event.TmfTimestamp;
import org.eclipse.linuxtools.tmf.core.request.ITmfDataRequest;
import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
+import org.eclipse.linuxtools.tmf.core.request.ITmfRequest;
import org.eclipse.linuxtools.tmf.core.request.TmfDataRequest;
import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
import org.eclipse.linuxtools.tmf.core.signal.TmfRangeSynchSignal;
@TmfSignalHandler
public void traceSelected(TmfTraceSelectedSignal signal) {
+ ITmfRequest indexRequest = null;
fLock.lock();
try {
// Update the trace reference
job.setUser(false);
job.schedule();
- if (fIndexRequest != null && !fIndexRequest.isCompleted()) {
- fIndexRequest.cancel();
- }
+ indexRequest = fIndexRequest;
cancelOngoingRequests();
- resetLoader();
TmfTimeRange window = TmfTimeRange.ETERNITY;
}
};
- fTrace.sendRequest(fIndexRequest);
} finally {
fLock.unlock();
}
+ if (indexRequest != null && !indexRequest.isCompleted()) {
+ indexRequest.cancel();
+ }
+ resetLoader();
+ fTrace.sendRequest(fIndexRequest);
}
if (signal.getTrace() != fTrace) {
return;
}
+ ITmfRequest indexRequest = null;
fLock.lock();
try {
- if (fIndexRequest != null) {
- if (!fIndexRequest.isCompleted()) {
- fIndexRequest.cancel();
- }
- fIndexRequest = null;
- }
+ indexRequest = fIndexRequest;
+ fIndexRequest = null;
cancelOngoingRequests();
}
FilterListDialog.deactivateSavedGlobalFilters();
-
- resetLoader();
} finally {
fTrace = null;
fLock.unlock();
}
+ if (indexRequest != null && !indexRequest.isCompleted()) {
+ indexRequest.cancel();
+ }
+
+ resetLoader();
}
/**
@Override
public void dispose() {
super.dispose();
+ ITmfRequest indexRequest = null;
fLock.lock();
try {
IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
window.getSelectionService().removePostSelectionListener(this);
}
- if (fIndexRequest != null) {
- if (!fIndexRequest.isCompleted()) {
- fIndexRequest.cancel();
- }
- fIndexRequest = null;
- }
+ indexRequest = fIndexRequest;
+ fIndexRequest = null;
cancelOngoingRequests();
fView.setSDFindProvider(null);
} finally {
fLock.unlock();
}
+ if (indexRequest != null && !indexRequest.isCompleted()) {
+ indexRequest.cancel();
+ }
}
/*
*/
protected void cancelOngoingRequests() {
fLock.lock();
+ ITmfRequest pageRequest = null;
try {
// Cancel the search thread
if (fFindJob != null) {
fFindCriteria = null;
fCurrentFindIndex = 0;
- if (fPageRequest != null) {
- if (!fPageRequest.isCompleted()) {
- fPageRequest.cancel();
- }
- fPageRequest = null;
- }
+ pageRequest = fPageRequest;
+ fPageRequest = null;
} finally {
fLock.unlock();
}
+ if (pageRequest != null && !pageRequest.isCompleted()) {
+ pageRequest.cancel();
+ }
}
/**