--- a/PipeStream.st Fri Sep 11 20:07:52 1998 +0200
+++ b/PipeStream.st Sat Sep 12 14:28:09 1998 +0200
@@ -407,16 +407,23 @@
Use shutDown for a fast (nonBlocking) close."
filePointer notNil ifTrue:[
- super closeFile.
- filePointer := nil.
- pid notNil ifTrue:[
- [
- pid notNil ifTrue:[
- exitSema wait.
- ]
- ] valueUninterruptably
- ].
+ pid notNil ifTrue:[
+ OperatingSystem isMSDOSlike ifTrue:[
+ OperatingSystem terminateProcess:pid
+ ]
+ ].
+ super closeFile.
+ filePointer := nil.
+ pid notNil ifTrue:[
+ [
+ pid notNil ifTrue:[
+ exitSema wait.
+ ]
+ ] valueUninterruptably
+ ].
].
+
+ "Modified: / 12.9.1998 / 13:28:12 / cg"
!
closeFileDescriptor
@@ -463,24 +470,35 @@
Terminate the command"
BrokenPipeSignal catch:[
- |tpid|
+ |tpid|
+
+ Lobby unregister:self.
+
+ "/ terminate first under windows.
+ pid notNil ifTrue:[
+ OperatingSystem isMSDOSlike ifTrue:[
+ OperatingSystem terminateProcess:pid.
+ pid := nil.
+ ].
+ ].
- Lobby unregister:self.
- self closeFileDescriptor.
- tpid := pid. "copy pid to avoid race"
- tpid notNil ifTrue:[
- "/
- "/ Terminate both the process and group, just in case the
- "/ operating system does not support process groups.
- "/
- OperatingSystem terminateProcess:tpid.
- OperatingSystem terminateProcessGroup:tpid.
- pid := nil.
- ].
+ self closeFileDescriptor.
+ tpid := pid. "copy pid to avoid race"
+ tpid notNil ifTrue:[
+ "/ terminate last under unix.
+ "/
+ "/ Terminate both the process and group, just in case the
+ "/ operating system does not support process groups.
+ "/
+ OperatingSystem terminateProcess:tpid.
+ OperatingSystem terminateProcessGroup:tpid.
+ pid := nil.
+ ].
]
- "Modified: 23.5.1996 / 09:15:41 / stefan"
+ "Modified: / 23.5.1996 / 09:15:41 / stefan"
+ "Modified: / 12.9.1998 / 13:36:25 / cg"
! !
!PipeStream methodsFor:'private'!
@@ -669,6 +687,6 @@
!PipeStream class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/PipeStream.st,v 1.72 1998-08-27 14:11:59 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/PipeStream.st,v 1.73 1998-09-12 12:28:09 cg Exp $'
! !
PipeStream initialize!