mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-08-10 17:55:39 +02:00
Bug 479241 - [PTY] Output gets cut off after EOF on input
Conflicts: core/org.eclipse.cdt.core.native/src/org/eclipse/cdt/utils/pty/PTYOutputStream.java Change-Id: If13b0d977f621e21e7fe89b2b52f07f74858787c Signed-off-by: Thomas Corbat <tcorbat@hsr.ch>
This commit is contained in:
parent
12931d59a7
commit
7b6cbde517
1 changed files with 8 additions and 5 deletions
|
@ -15,6 +15,7 @@ import java.io.IOException;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
|
|
||||||
import org.eclipse.cdt.utils.pty.PTY.MasterFD;
|
import org.eclipse.cdt.utils.pty.PTY.MasterFD;
|
||||||
|
import org.eclipse.core.runtime.Platform;
|
||||||
|
|
||||||
public class PTYOutputStream extends OutputStream {
|
public class PTYOutputStream extends OutputStream {
|
||||||
|
|
||||||
|
@ -84,13 +85,15 @@ public class PTYOutputStream extends OutputStream {
|
||||||
public void close() throws IOException {
|
public void close() throws IOException {
|
||||||
if (master.getFD() == -1)
|
if (master.getFD() == -1)
|
||||||
return;
|
return;
|
||||||
if (sendEotBeforeClose) {
|
// For non-windows platforms, send EOT instead of closing
|
||||||
|
if (Platform.OS_WIN32.equals(Platform.getOS())) {
|
||||||
|
int status = close0(master.getFD());
|
||||||
|
if (status == -1)
|
||||||
|
throw new IOException("close error"); //$NON-NLS-1$
|
||||||
|
master.setFD(-1);
|
||||||
|
} else {
|
||||||
write(EOT);
|
write(EOT);
|
||||||
}
|
}
|
||||||
int status = close0(master.getFD());
|
|
||||||
if (status == -1)
|
|
||||||
throw new IOException("close error"); //$NON-NLS-1$
|
|
||||||
master.setFD(-1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Add table
Reference in a new issue