From 26033a36c2c70acfe1da0e879284380ea26b3029 Mon Sep 17 00:00:00 2001 From: Pawel Piech Date: Fri, 8 Jan 2010 19:14:04 +0000 Subject: [PATCH] Bug 293049 - [concurrent] Received IllegalStateException on shutdown --- .../eclipse/cdt/dsf/service/DsfServicesTracker.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/dsf/org.eclipse.cdt.dsf/src/org/eclipse/cdt/dsf/service/DsfServicesTracker.java b/dsf/org.eclipse.cdt.dsf/src/org/eclipse/cdt/dsf/service/DsfServicesTracker.java index 88844c754ec..8ba4ba45e40 100644 --- a/dsf/org.eclipse.cdt.dsf/src/org/eclipse/cdt/dsf/service/DsfServicesTracker.java +++ b/dsf/org.eclipse.cdt.dsf/src/org/eclipse/cdt/dsf/service/DsfServicesTracker.java @@ -265,9 +265,13 @@ public class DsfServicesTracker { } private void doDispose() { - fBundleContext.removeServiceListener(fListner); - for (Iterator itr = fServices.keySet().iterator(); itr.hasNext();) { - fBundleContext.ungetService(itr.next()); + try { + fBundleContext.removeServiceListener(fListner); + for (Iterator itr = fServices.keySet().iterator(); itr.hasNext();) { + fBundleContext.ungetService(itr.next()); + } + } catch (IllegalStateException e) { + // May be thrown during shutdown (bug 293049). } fServices.clear(); fServiceReferences.clear();