--- a/Process.st Mon Jul 08 13:51:42 1996 +0200
+++ b/Process.st Mon Jul 08 14:10:17 1996 +0200
@@ -275,6 +275,18 @@
!Process methodsFor:'accessing'!
+beGroupLeader
+ "make the receiver a processGroupLeader.
+ This detaches the process from its creator, so that it will not
+ be terminated when it teminates via #terminateGroup.
+ (windowgroup processes do this)."
+
+ processGroupId := id
+
+ "Modified: 8.7.1996 / 14:00:35 / cg"
+ "Created: 8.7.1996 / 14:08:44 / cg"
+!
+
changePriority:aNumber
"same as priority:, but returns the old priority.
(cannot do this in #priority: for ST-80 compatibility)"
@@ -1024,6 +1036,21 @@
]
!
+terminateGroup
+ "terminate all processes in the receivers process group."
+
+ ProcessorScheduler knownProcesses do:[:aProcess |
+ aProcess ~~ self ifTrue:[
+ aProcess processGroupId == processGroupId ifTrue:[
+ aProcess terminate
+ ]
+ ]
+ ].
+ self terminate
+
+ "Created: 8.7.1996 / 14:04:15 / cg"
+!
+
terminateNoSignal
"terminate the receiver process without sending a terminateSignal
or performing any unwind-handling.
@@ -1053,6 +1080,6 @@
!Process class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Process.st,v 1.58 1996-07-08 11:51:42 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Process.st,v 1.59 1996-07-08 12:10:17 cg Exp $'
! !
Process initialize!