61 During this signal processing, normal unwind processing takes place, |
61 During this signal processing, normal unwind processing takes place, |
62 this means that with a soft terminate, all valueOnUnwind:/valueNowOrOnUnwind: |
62 this means that with a soft terminate, all valueOnUnwind:/valueNowOrOnUnwind: |
63 cleanup blocks are evaluated. |
63 cleanup blocks are evaluated. |
64 (so a process which has set up those blocks correctly does not have to |
64 (so a process which has set up those blocks correctly does not have to |
65 care especially about cleanup in case of termination). |
65 care especially about cleanup in case of termination). |
66 Other than that, the TerminateSignal can be cought for special cleanup or |
66 Other than that, the TerminateSignal can be caught for special cleanup or |
67 even to make the process continue execution. |
67 even to make the process continue execution. |
68 |
68 |
69 A hard terminate (Process>>terminateNoSignal) will NOT do all of the above, |
69 A hard terminate (Process>>terminateNoSignal) will NOT do all of the above, |
70 but quickly (and without any cleanup) terminate the process. |
70 but quickly (and without any cleanup) terminate the process. |
71 The debugger offers a quickTerminate option on its popupMenu for |
71 The debugger offers a quickTerminate option on its popupMenu for |
150 emergencySignalHandler <Block> can be used for per-process |
150 emergencySignalHandler <Block> can be used for per-process |
151 emergency signal handling |
151 emergency signal handling |
152 [Class variables:] |
152 [Class variables:] |
153 |
153 |
154 TerminateSignal <Signal> signal used to terminate processes |
154 TerminateSignal <Signal> signal used to terminate processes |
155 (should not be cought - or at least |
155 (should not be caught - or at least |
156 rejected in handlers). |
156 rejected in handlers). |
157 If cought and proceeded, a process |
157 If caught and proceeded, a process |
158 cannot be terminated via #terminate. |
158 cannot be terminated via #terminate. |
159 For hardTermination (in case of emergency), |
159 For hardTermination (in case of emergency), |
160 send it a #erminateNoSignal message. |
160 send it a #erminateNoSignal message. |
161 |
161 |
162 RestartSignal <Signal> signal used to restart a process. |
162 RestartSignal <Signal> signal used to restart a process. |
163 Can be cought in additional handler(s), |
163 Can be caught in additional handler(s), |
164 to perform all kind of re-initialization. |
164 to perform all kind of re-initialization. |
165 However, these handlers should reject, |
165 However, these handlers should reject, |
166 for the restart to be really performed. |
166 for the restart to be really performed. |
167 |
167 |
168 [see also:] |
168 [see also:] |
1235 ! |
1235 ! |
1236 |
1236 |
1237 terminate |
1237 terminate |
1238 "terminate the receiver process. |
1238 "terminate the receiver process. |
1239 Termination is done by raising the terminateSignal in the receiver process, |
1239 Termination is done by raising the terminateSignal in the receiver process, |
1240 which can be cought. |
1240 which can be caught. |
1241 All unwind actions and the exit-actions (if any) |
1241 All unwind actions and the exit-actions (if any) |
1242 will be performed before the process is really terminated." |
1242 will be performed before the process is really terminated." |
1243 |
1243 |
1244 self interruptWith:[ |
1244 self interruptWith:[ |
1245 Signal noHandlerSignal handle:[:ex | |
1245 Signal noHandlerSignal handle:[:ex | |