1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-15 04:55:22 +02:00

[207095] Implicit connect needs to run in the same job as caller

This commit is contained in:
David McKnight 2007-10-25 16:23:37 +00:00
parent 456e55c23e
commit d3846713f6
2 changed files with 8 additions and 6 deletions

View file

@ -14,6 +14,7 @@
* Martin Oberhuber (Wind River) - [182454] improve getAbsoluteName() documentation * Martin Oberhuber (Wind River) - [182454] improve getAbsoluteName() documentation
* Martin Oberhuber (Wind River) - [186128] Move IProgressMonitor last in all API * Martin Oberhuber (Wind River) - [186128] Move IProgressMonitor last in all API
* Martin Oberhuber (Wind River) - [187218] Fix error reporting for connect() * Martin Oberhuber (Wind River) - [187218] Fix error reporting for connect()
* David McKnight (IBM) - [207095] Implicit connect needs to run in the same job as caller
********************************************************************************/ ********************************************************************************/
package org.eclipse.rse.core.subsystems; package org.eclipse.rse.core.subsystems;
@ -134,7 +135,7 @@ public interface ISubSystem extends ISystemFilterPoolReferenceManagerProvider, I
* will throw a SystemMessageException you can easily display to the user by using a method * will throw a SystemMessageException you can easily display to the user by using a method
* in it. * in it.
*/ */
public void checkIsConnected() throws SystemMessageException; public void checkIsConnected(IProgressMonitor monitor) throws SystemMessageException;
// --------------------------------------------------- // ---------------------------------------------------
// Methods for business partners to add their own // Methods for business partners to add their own

View file

@ -18,6 +18,7 @@
package org.eclipse.rse.subsystems.processes.servicesubsystem; package org.eclipse.rse.subsystems.processes.servicesubsystem;
import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.rse.core.model.IHost; import org.eclipse.rse.core.model.IHost;
import org.eclipse.rse.core.subsystems.IConnectorService; import org.eclipse.rse.core.subsystems.IConnectorService;
import org.eclipse.rse.core.subsystems.IServiceSubSystemConfiguration; import org.eclipse.rse.core.subsystems.IServiceSubSystemConfiguration;
@ -88,7 +89,7 @@ public class ProcessServiceSubSystem extends RemoteProcessSubSystemImpl implemen
*/ */
public IRemoteProcess getRemoteProcessObject(long pid) throws SystemMessageException public IRemoteProcess getRemoteProcessObject(long pid) throws SystemMessageException
{ {
checkIsConnected(); checkIsConnected(new NullProgressMonitor());
HostProcessFilterImpl rpfs = new HostProcessFilterImpl(); HostProcessFilterImpl rpfs = new HostProcessFilterImpl();
rpfs.setPid("" + pid); //$NON-NLS-1$ rpfs.setPid("" + pid); //$NON-NLS-1$
IRemoteProcessContext context = new RemoteProcessContext(this, null, rpfs); IRemoteProcessContext context = new RemoteProcessContext(this, null, rpfs);
@ -109,7 +110,7 @@ public class ProcessServiceSubSystem extends RemoteProcessSubSystemImpl implemen
*/ */
public boolean kill(IRemoteProcess process, String signal) throws SystemMessageException public boolean kill(IRemoteProcess process, String signal) throws SystemMessageException
{ {
checkIsConnected(); checkIsConnected(new NullProgressMonitor());
return getProcessService().kill(process.getPid(), signal, null); return getProcessService().kill(process.getPid(), signal, null);
} }
@ -118,7 +119,7 @@ public class ProcessServiceSubSystem extends RemoteProcessSubSystemImpl implemen
*/ */
public IRemoteProcess[] listAllProcesses(IHostProcessFilter processFilter, IRemoteProcessContext context, IProgressMonitor monitor) throws InterruptedException, SystemMessageException public IRemoteProcess[] listAllProcesses(IHostProcessFilter processFilter, IRemoteProcessContext context, IProgressMonitor monitor) throws InterruptedException, SystemMessageException
{ {
checkIsConnected(); checkIsConnected(monitor);
IHostProcess[] processes = getProcessService().listAllProcesses(processFilter, monitor); IHostProcess[] processes = getProcessService().listAllProcesses(processFilter, monitor);
return getHostProcessToRemoteProcessAdapter().convertToRemoteProcesses(context, null, processes); return getHostProcessToRemoteProcessAdapter().convertToRemoteProcesses(context, null, processes);
} }
@ -128,7 +129,7 @@ public class ProcessServiceSubSystem extends RemoteProcessSubSystemImpl implemen
*/ */
public IRemoteProcess[] listChildProcesses(IRemoteProcess parent, IHostProcessFilter processFilter, IRemoteProcessContext context, IProgressMonitor monitor) throws SystemMessageException public IRemoteProcess[] listChildProcesses(IRemoteProcess parent, IHostProcessFilter processFilter, IRemoteProcessContext context, IProgressMonitor monitor) throws SystemMessageException
{ {
checkIsConnected(); checkIsConnected(monitor);
IHostProcess[] processes = getProcessService().listChildProcesses(parent.getPid(), processFilter, monitor); IHostProcess[] processes = getProcessService().listChildProcesses(parent.getPid(), processFilter, monitor);
return getHostProcessToRemoteProcessAdapter().convertToRemoteProcesses(context, parent, processes); return getHostProcessToRemoteProcessAdapter().convertToRemoteProcesses(context, parent, processes);
} }
@ -138,7 +139,7 @@ public class ProcessServiceSubSystem extends RemoteProcessSubSystemImpl implemen
*/ */
public IRemoteProcess[] listChildProcesses(IRemoteProcess parent, IRemoteProcessContext context, IProgressMonitor monitor) throws SystemMessageException public IRemoteProcess[] listChildProcesses(IRemoteProcess parent, IRemoteProcessContext context, IProgressMonitor monitor) throws SystemMessageException
{ {
checkIsConnected(); checkIsConnected(monitor);
IHostProcess[] processes = getProcessService().listChildProcesses(parent.getPid(), monitor); IHostProcess[] processes = getProcessService().listChildProcesses(parent.getPid(), monitor);
return getHostProcessToRemoteProcessAdapter().convertToRemoteProcesses(context, parent, processes); return getHostProcessToRemoteProcessAdapter().convertToRemoteProcesses(context, parent, processes);
} }