TerminalSession.st
changeset 5198 96e6169808a6
parent 5072 1a686ebe8711
child 5365 9dd32d8a4943
--- a/TerminalSession.st	Tue Sep 03 10:09:03 2019 +0200
+++ b/TerminalSession.st	Tue Sep 03 10:15:24 2019 +0200
@@ -251,13 +251,13 @@
 
     OperatingSystem isMSWINDOWSlike ifTrue:[
         "use two pipes (eg. to COMMAND.COM)"
-        stxToStdinPipe := NonPositionableExternalStream makePipe.
+        stxToStdinPipe := PipeStream makePipe.
         stxToStdinPipe isNil ifTrue:[
             self error:(self class classResources string:'Could not create pipe to COMMAND.COM.') mayProceed:true. 
             ^ self.
         ].
 
-        stdOutToStxPipe := NonPositionableExternalStream makePipe.
+        stdOutToStxPipe := PipeStream makePipe.
         stdOutToStxPipe isNil ifTrue:[
             self error:(self class classResources classResources string:'Could not create pipe from COMMAND.COM.') mayProceed:true. 
             ^ self.
@@ -285,13 +285,15 @@
         "/ pty at:1 is the master;
         "/ pty at:2 is the slave
         "/ pty at:3 is the name of the pty
-        ptyName := ptyTriple at:3.
+        ptyName := ptyTriple at:3 ifAbsent:'pty?'.
 
-        master := NonPositionableExternalStream forReadWriteToFileDescriptor:(ptyTriple at:1).
+        master := UnixPTYStream forReadWriteToFileDescriptor:(ptyTriple at:1).
         master buffered:false.
+        master setCommandString:ptyName.
 
-        slave := NonPositionableExternalStream forReadWriteToFileDescriptor:(ptyTriple at:2).
+        slave := UnixPTYStream forReadWriteToFileDescriptor:(ptyTriple at:2).
         slave buffered:false.
+        slave setCommandString:ptyName.
 
         pty := { master . slave }.