diff options
2 files changed, 20 insertions, 2 deletions
diff --git a/core/org.eclipse.ptp.remote.rse.core/miners/org/eclipse/ptp/internal/remote/rse/core/miners/SpawnerMiner.java b/core/org.eclipse.ptp.remote.rse.core/miners/org/eclipse/ptp/internal/remote/rse/core/miners/SpawnerMiner.java index 87ba76491..9060eb1b0 100644 --- a/core/org.eclipse.ptp.remote.rse.core/miners/org/eclipse/ptp/internal/remote/rse/core/miners/SpawnerMiner.java +++ b/core/org.eclipse.ptp.remote.rse.core/miners/org/eclipse/ptp/internal/remote/rse/core/miners/SpawnerMiner.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010, 2011 IBM Corporation and others. + * Copyright (c) 2010, 2013 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -128,6 +128,8 @@ public class SpawnerMiner extends Miner { } catch(RuntimeException e) { UniversalServerUtilities.logError(LOG_TAG, e.toString(), e, _dataStore); + _dataStore.refresh(theCommand); + _dataStore.disconnectObject(theCommand); throw e; } } @@ -154,6 +156,8 @@ public class SpawnerMiner extends Miner { handleSpawnRedirected(subject, cmd, dir, envp, status); + status.getDataStore().refresh(status); + status.getDataStore().disconnectObject(status.getParent()); return status; } @@ -175,6 +179,9 @@ public class SpawnerMiner extends Miner { fSupportsCharConversion = true; } + + status.getDataStore().refresh(status); + status.getDataStore().disconnectObject(status.getParent()); return null; } @@ -230,6 +237,7 @@ public class SpawnerMiner extends Miner { public static DataElement statusDone(DataElement status) { status.setAttribute(DE.A_NAME, DataStoreResources.model_done); status.getDataStore().refresh(status); + status.getDataStore().disconnectObject(status.getParent()); return status; } diff --git a/rdt/org.eclipse.ptp.rdt.core/miners/org/eclipse/ptp/internal/rdt/core/miners/CDTMiner.java b/rdt/org.eclipse.ptp.rdt.core/miners/org/eclipse/ptp/internal/rdt/core/miners/CDTMiner.java index e939dd686..fdd7ab0c9 100644 --- a/rdt/org.eclipse.ptp.rdt.core/miners/org/eclipse/ptp/internal/rdt/core/miners/CDTMiner.java +++ b/rdt/org.eclipse.ptp.rdt.core/miners/org/eclipse/ptp/internal/rdt/core/miners/CDTMiner.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2012 IBM Corporation and others. + * Copyright (c) 2008, 2013 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -206,6 +206,8 @@ public class CDTMiner extends Miner { } catch(RuntimeException e) { UniversalServerUtilities.logError(LOG_TAG, e.toString(), e, _dataStore); + getDataStore().refresh(theCommand); + getDataStore().disconnectObject(theCommand); throw e; } } @@ -269,9 +271,13 @@ public class CDTMiner extends Miner { provider = (IRemoteIndexerInfoProvider) Serializer.deserialize(getString(theCommand, 6)); } catch (IOException e) { UniversalServerUtilities.logError(LOG_TAG, e.toString(), e, _dataStore); + status.getDataStore().refresh(status); + status.getDataStore().disconnectObject(status.getParent()); return status; } catch (ClassNotFoundException e) { UniversalServerUtilities.logError(LOG_TAG, e.toString(), e, _dataStore); + status.getDataStore().refresh(status); + status.getDataStore().disconnectObject(status.getParent()); return status; } @@ -794,6 +800,8 @@ public class CDTMiner extends Miner { } } + status.getDataStore().refresh(status); + status.getDataStore().disconnectObject(status.getParent()); return status; } @@ -2306,6 +2314,7 @@ public class CDTMiner extends Miner { public static DataElement statusDone(DataElement status) { status.setAttribute(DE.A_NAME, DataStoreResources.model_done); status.getDataStore().refresh(status); + status.getDataStore().disconnectObject(status.getParent()); return status; } @@ -2315,6 +2324,7 @@ public class CDTMiner extends Miner { public static DataElement statusCancelled(DataElement status) { status.setAttribute(DE.A_NAME, CANCELLED); status.getDataStore().refresh(status); + status.getDataStore().disconnectObject(status.getParent()); return status; } |