diff -r dfa58f01505c -r 2a61dad6c7ce Process.st --- 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!