Process.st
changeset 2891 9020b3130d83
parent 2888 3e8b5166d90f
child 3013 da4c5dd0fbd5
equal deleted inserted replaced
2890:fa0418a0f896 2891:9020b3130d83
     7  inclusion of the above copyright notice.   This software may not
     7  inclusion of the above copyright notice.   This software may not
     8  be provided or otherwise made available to, or used by, any
     8  be provided or otherwise made available to, or used by, any
     9  other person.  No title to or ownership of the software is
     9  other person.  No title to or ownership of the software is
    10  hereby transferred.
    10  hereby transferred.
    11 "
    11 "
       
    12 
       
    13 'From Smalltalk/X, Version:3.1.9 on 26-aug-1997 at 3:52:33 pm'                  !
    12 
    14 
    13 Link subclass:#Process
    15 Link subclass:#Process
    14 	instanceVariableNames:'id prio state startBlock name restartable interruptActions
    16 	instanceVariableNames:'id prio state startBlock name restartable interruptActions
    15 		exitActions suspendSemaphore singleStepping
    17 		exitActions suspendSemaphore singleStepping
    16 		emergencySignalHandler suspendActions creatorId processGroupId
    18 		emergencySignalHandler suspendActions creatorId processGroupId
  1388      (i.e. all processes in the receivers process group, except for
  1390      (i.e. all processes in the receivers process group, except for
  1389       the receiver itself)."
  1391       the receiver itself)."
  1390 
  1392 
  1391     ProcessorScheduler knownProcesses do:[:aProcess |
  1393     ProcessorScheduler knownProcesses do:[:aProcess |
  1392         aProcess ~~ self ifTrue:[
  1394         aProcess ~~ self ifTrue:[
  1393             aProcess processGroupId == processGroupId ifTrue:[
  1395             (aProcess processGroupId == processGroupId 
       
  1396             or:[aProcess processGroupId == id]) ifTrue:[
  1394                 aProcess terminateWithAllSubprocesses
  1397                 aProcess terminateWithAllSubprocesses
  1395             ]
  1398             ]
  1396         ]
  1399         ]
  1397     ].
  1400     ].
  1398 
  1401 
  1399     "Modified: 28.10.1996 / 20:40:50 / cg"
       
  1400     "Created: 28.10.1996 / 20:43:32 / cg"
  1402     "Created: 28.10.1996 / 20:43:32 / cg"
       
  1403     "Modified: 26.8.1997 / 03:09:40 / cg"
  1401 !
  1404 !
  1402 
  1405 
  1403 terminateGroup
  1406 terminateGroup
  1404     "terminate the receiver with all of its created subprocesses 
  1407     "terminate the receiver with all of its created subprocesses 
  1405      (i.e. all processes in the receivers process group)."
  1408      (i.e. all processes in the receivers process group)."
  1445      (i.e. all processes in the receivers process group, except for
  1448      (i.e. all processes in the receivers process group, except for
  1446       the receiver itself)."
  1449       the receiver itself)."
  1447 
  1450 
  1448     ProcessorScheduler knownProcesses do:[:aProcess |
  1451     ProcessorScheduler knownProcesses do:[:aProcess |
  1449         aProcess ~~ self ifTrue:[
  1452         aProcess ~~ self ifTrue:[
  1450             aProcess processGroupId == processGroupId ifTrue:[
  1453             (aProcess processGroupId == processGroupId 
       
  1454             or:[aProcess processGroupId == id]) ifTrue:[
  1451                 aProcess terminate
  1455                 aProcess terminate
  1452             ]
  1456             ]
  1453         ]
  1457         ]
  1454     ].
  1458     ].
  1455 
  1459 
  1456     "Modified: 28.10.1996 / 20:40:50 / cg"
       
  1457     "Created: 28.10.1996 / 20:41:49 / cg"
  1460     "Created: 28.10.1996 / 20:41:49 / cg"
       
  1461     "Modified: 26.8.1997 / 03:09:57 / cg"
  1458 !
  1462 !
  1459 
  1463 
  1460 terminateWithAllSubprocesses
  1464 terminateWithAllSubprocesses
  1461     "terminate the receiver with all of its created subprocesses and their children
  1465     "terminate the receiver with all of its created subprocesses and their children
  1462      (i.e. all processes in the receivers process group)."
  1466      (i.e. all processes in the receivers process group)."
  1469 ! !
  1473 ! !
  1470 
  1474 
  1471 !Process class methodsFor:'documentation'!
  1475 !Process class methodsFor:'documentation'!
  1472 
  1476 
  1473 version
  1477 version
  1474     ^ '$Header: /cvs/stx/stx/libbasic/Process.st,v 1.86 1997-08-22 14:32:56 cg Exp $'
  1478     ^ '$Header: /cvs/stx/stx/libbasic/Process.st,v 1.87 1997-08-28 02:42:37 cg Exp $'
  1475 ! !
  1479 ! !
  1476 Process initialize!
  1480 Process initialize!