equal
deleted
inserted
replaced
13 Link subclass:#Process |
13 Link subclass:#Process |
14 instanceVariableNames:'id prio state startBlock name |
14 instanceVariableNames:'id prio state startBlock name |
15 restartable interruptActions |
15 restartable interruptActions |
16 exitAction exitSemaphore suspendSemaphore |
16 exitAction exitSemaphore suspendSemaphore |
17 singleStepping emergencySignalHandler' |
17 singleStepping emergencySignalHandler' |
18 classVariableNames:'TerminateSignal' |
18 classVariableNames:'TerminateSignal CoughtSignals' |
19 poolDictionaries:'' |
19 poolDictionaries:'' |
20 category:'Kernel-Processes' |
20 category:'Kernel-Processes' |
21 ! |
21 ! |
22 |
22 |
23 Process comment:' |
23 Process comment:' |
24 COPYRIGHT (c) 1992 by Claus Gittinger |
24 COPYRIGHT (c) 1992 by Claus Gittinger |
25 All Rights Reserved |
25 All Rights Reserved |
26 |
26 |
27 $Header: /cvs/stx/stx/libbasic/Process.st,v 1.20 1995-02-15 10:24:43 claus Exp $ |
27 $Header: /cvs/stx/stx/libbasic/Process.st,v 1.21 1995-03-08 23:39:27 claus Exp $ |
28 '! |
28 '! |
29 |
29 |
30 !Process class methodsFor:'documentation'! |
30 !Process class methodsFor:'documentation'! |
31 |
31 |
32 copyright |
32 copyright |
43 " |
43 " |
44 ! |
44 ! |
45 |
45 |
46 version |
46 version |
47 " |
47 " |
48 $Header: /cvs/stx/stx/libbasic/Process.st,v 1.20 1995-02-15 10:24:43 claus Exp $ |
48 $Header: /cvs/stx/stx/libbasic/Process.st,v 1.21 1995-03-08 23:39:27 claus Exp $ |
49 " |
49 " |
50 ! |
50 ! |
51 |
51 |
52 documentation |
52 documentation |
53 " |
53 " |
196 |
196 |
197 !Process class methodsFor:'initialization'! |
197 !Process class methodsFor:'initialization'! |
198 |
198 |
199 initialize |
199 initialize |
200 TerminateSignal isNil ifTrue:[ |
200 TerminateSignal isNil ifTrue:[ |
|
201 AbortSignal isNil ifTrue:[super initialize]. |
|
202 |
201 TerminateSignal := Signal new mayProceed:true. |
203 TerminateSignal := Signal new mayProceed:true. |
202 TerminateSignal nameClass:self message:#terminateSignal. |
204 TerminateSignal nameClass:self message:#terminateSignal. |
203 TerminateSignal notifierString:'unhandled process termination'. |
205 TerminateSignal notifierString:'unhandled process termination'. |
|
206 |
|
207 CoughtSignals := SignalSet with:AbortSignal with:TerminateSignal. |
204 ] |
208 ] |
205 ! ! |
209 ! ! |
206 |
210 |
207 !Process class methodsFor:'signal access'! |
211 !Process class methodsFor:'signal access'! |
208 |
212 |
506 " |
510 " |
507 name isNil ifTrue:[ |
511 name isNil ifTrue:[ |
508 name := '(' , startBlock displayString , ')' |
512 name := '(' , startBlock displayString , ')' |
509 ]. |
513 ]. |
510 startBlock := nil. |
514 startBlock := nil. |
511 (SignalSet with:TerminateSignal with:AbortSignal) |
515 CoughtSignals handle:[:ex | |
512 handle:[:ex | |
|
513 ex return |
516 ex return |
514 ] do:block. |
517 ] do:block. |
515 |
518 |
516 (block := exitAction) notNil ifTrue:[ |
519 (block := exitAction) notNil ifTrue:[ |
517 exitAction := nil. |
520 exitAction := nil. |