mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-06-09 02:36:01 +02:00
Bug 471143 - Prevent potential NPE in disconnect
Change-Id: I6a160806868048442c0e09bd8541177a650d01bb Signed-off-by: Greg Watson <g.watson@computer.org>
This commit is contained in:
parent
bc64e0a017
commit
59d044cdfb
1 changed files with 14 additions and 9 deletions
|
@ -46,9 +46,12 @@ public class TerminalConsoleConnector {
|
||||||
public OutThread() {
|
public OutThread() {
|
||||||
super("Terminal Output"); //$NON-NLS-1$
|
super("Terminal Output"); //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
try {
|
try {
|
||||||
byte[] buff = new byte[1024];
|
byte[] buff = new byte[1024];
|
||||||
|
if (remoteProcess != null) {
|
||||||
InputStream in = remoteProcess.getInputStream();
|
InputStream in = remoteProcess.getInputStream();
|
||||||
for (int n = in.read(buff); n >= 0; n = in.read(buff)) {
|
for (int n = in.read(buff); n >= 0; n = in.read(buff)) {
|
||||||
for (PageConnector connector : pageConnectors) {
|
for (PageConnector connector : pageConnectors) {
|
||||||
|
@ -58,6 +61,7 @@ public class TerminalConsoleConnector {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
setState(TerminalState.CLOSED);
|
setState(TerminalState.CLOSED);
|
||||||
synchronized (TerminalConsoleConnector.this) {
|
synchronized (TerminalConsoleConnector.this) {
|
||||||
outThread = null;
|
outThread = null;
|
||||||
|
@ -67,6 +71,7 @@ public class TerminalConsoleConnector {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private OutThread outThread;
|
private OutThread outThread;
|
||||||
|
|
||||||
public TerminalConsoleConnector(IRemoteConnection connection) {
|
public TerminalConsoleConnector(IRemoteConnection connection) {
|
||||||
|
@ -153,7 +158,7 @@ public class TerminalConsoleConnector {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void disconnect() {
|
public void disconnect() {
|
||||||
if (!remoteProcess.isCompleted()) {
|
if (remoteProcess != null && !remoteProcess.isCompleted()) {
|
||||||
new Job(ConsoleMessages.DISCONNECTING) {
|
new Job(ConsoleMessages.DISCONNECTING) {
|
||||||
@Override
|
@Override
|
||||||
protected IStatus run(IProgressMonitor monitor) {
|
protected IStatus run(IProgressMonitor monitor) {
|
||||||
|
@ -200,7 +205,7 @@ public class TerminalConsoleConnector {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public OutputStream getTerminalToRemoteStream() {
|
public OutputStream getTerminalToRemoteStream() {
|
||||||
return remoteProcess.getOutputStream();
|
return remoteProcess != null ? remoteProcess.getOutputStream() : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Add table
Reference in a new issue