PipeStream.st
changeset 18785 5b58b205c252
parent 18782 aa9e2cb1d490
child 18786 237a87b4fe8f
child 19860 324edacff5cc
equal deleted inserted replaced
18784:82b13911ae7b 18785:5b58b205c252
     1 "{ Encoding: utf8 }"
       
     2 
       
     3 "
     1 "
     4  COPYRIGHT (c) 1989 by Claus Gittinger
     2  COPYRIGHT (c) 1989 by Claus Gittinger
     5 	      All Rights Reserved
     3 	      All Rights Reserved
     6 
     4 
     7  This software is furnished under a license and may be used
     5  This software is furnished under a license and may be used
   218 
   216 
   219     "
   217     "
   220 	|p|
   218 	|p|
   221 
   219 
   222 	p := PipeStream bidirectionalFor:'cat -u'.
   220 	p := PipeStream bidirectionalFor:'cat -u'.
   223 	p nextPutAll:'Wer ist der Bürgermeister von Wesel'; cr.
   221 	p nextPutAll:'Wer ist der Bürgermeister von Wesel'; cr.
   224 	Transcript showCR:p nextLine.
   222 	Transcript showCR:p nextLine.
   225 	p close
   223 	p close
   226     "
   224     "
   227 
   225 
   228     "
   226     "
   522     "redefined to avoid blocking in close."
   520     "redefined to avoid blocking in close."
   523 
   521 
   524     self shutDown
   522     self shutDown
   525 ! !
   523 ! !
   526 
   524 
   527 !PipeStream methodsFor:'private'!
   525 !PipeStream protectedMethodsFor:'private'!
   528 
   526 
   529 closeFile
   527 closeFile
   530     "low level close
   528     "low level close
   531      This waits for the command to finish.
   529      This waits for the command to finish.
   532      Use shutDown for a fast (nonBlocking) close."
   530      Use shutDown for a fast (nonBlocking) close."
   543 	    self waitForPipeCommandWithTimeout:nil.
   541 	    self waitForPipeCommandWithTimeout:nil.
   544 	].
   542 	].
   545     ].
   543     ].
   546 
   544 
   547     "Modified: / 12.9.1998 / 16:51:04 / cg"
   545     "Modified: / 12.9.1998 / 16:51:04 / cg"
   548 !
   546 ! !
       
   547 
       
   548 !PipeStream methodsFor:'private'!
   549 
   549 
   550 closeFileDescriptor
   550 closeFileDescriptor
   551     "alternative very low level close
   551     "alternative very low level close
   552      This closes the underlying OS-fileDescriptor
   552      This closes the underlying OS-fileDescriptor
   553      - and will NOT write any buffered data to the stream.
   553      - and will NOT write any buffered data to the stream.