NonPositionableExternalStream.st
changeset 21227 21eb93bd9b6f
parent 21207 604babfb83ef
child 21230 9b7a6559527b
equal deleted inserted replaced
21226:568b192939c7 21227:21eb93bd9b6f
   143             errorCode:errorNumber;
   143             errorCode:errorNumber;
   144             osErrorHolder:errorHolder;
   144             osErrorHolder:errorHolder;
   145             raise.
   145             raise.
   146     ].
   146     ].
   147 
   147 
   148     rs := self forFileDescriptor:(pipe at:1) mode:#readWrite buffered:false handleType:#pipeFilePointer.
   148     rs := NonPositionableExternalStream forFileDescriptor:(pipe at:1) mode:#readWrite buffered:false handleType:#pipeFilePointer.
   149     ws := self forFileDescriptor:(pipe at:2) mode:#readWrite buffered:false handleType:#pipeFilePointer.
   149     ws := NonPositionableExternalStream forFileDescriptor:(pipe at:2) mode:#readWrite buffered:false handleType:#pipeFilePointer.
   150     ^ Array with:rs with:ws
   150     ^ Array with:rs with:ws
   151 
   151 
   152     "
   152     "
   153      |pipe rs ws|
   153      |pipe rs ws|
   154 
   154 
   185 
   185 
   186     |ptyPair master slave|
   186     |ptyPair master slave|
   187 
   187 
   188     ptyPair := OperatingSystem makePTYPair.
   188     ptyPair := OperatingSystem makePTYPair.
   189     ptyPair notNil ifTrue:[
   189     ptyPair notNil ifTrue:[
   190 	master := self forReadWriteToFileDescriptor:(ptyPair at:1).
   190         master := NonPositionableExternalStream forReadWriteToFileDescriptor:(ptyPair at:1).
   191 	master buffered:false.
   191         master buffered:false.
   192 	slave := self forReadWriteToFileDescriptor:(ptyPair at:2).
   192         slave := NonPositionableExternalStream forReadWriteToFileDescriptor:(ptyPair at:2).
   193 	slave buffered:false.
   193         slave buffered:false.
   194 	ptyPair at:1 put:master.
   194         ptyPair at:1 put:master.
   195 	ptyPair at:2 put:slave.
   195         ptyPair at:2 put:slave.
   196 	^ ptyPair
   196         ^ ptyPair
   197     ].
   197     ].
   198     ^ nil
   198     ^ nil
   199 
   199 
   200     "
   200     "
   201      ExternalStream makePTYPair.
   201      ExternalStream makePTYPair.
   229             errorCode:errorNumber;
   229             errorCode:errorNumber;
   230             osErrorHolder:errorHolder;
   230             osErrorHolder:errorHolder;
   231             raise.
   231             raise.
   232     ].
   232     ].
   233 
   233 
   234     rs := self forFileDescriptor:(pipe at:1) mode:#readonly buffered:false handleType:#pipeFilePointer.
   234     rs := NonPositionableExternalStream forFileDescriptor:(pipe at:1) mode:#readonly buffered:false handleType:#pipeFilePointer.
   235     ws := self forFileDescriptor:(pipe at:2) mode:#writeonly buffered:false handleType:#pipeFilePointer.
   235     ws := NonPositionableExternalStream forFileDescriptor:(pipe at:2) mode:#writeonly buffered:false handleType:#pipeFilePointer.
   236     ^ Array with:rs with:ws
   236     ^ Array with:rs with:ws
   237 
   237 
   238     "
   238     "
   239      |pipe rs ws|
   239      |pipe rs ws|
   240 
   240