Process.st
changeset 2689 ada9b102abcf
parent 2636 8cb50e1b0688
child 2724 9fb9ea4bf858
equal deleted inserted replaced
2688:a7777c381e7e 2689:ada9b102abcf
    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 |
  1339 ! !
  1339 ! !
  1340 
  1340 
  1341 !Process class methodsFor:'documentation'!
  1341 !Process class methodsFor:'documentation'!
  1342 
  1342 
  1343 version
  1343 version
  1344     ^ '$Header: /cvs/stx/stx/libbasic/Process.st,v 1.77 1997-05-09 10:16:44 stefan Exp $'
  1344     ^ '$Header: /cvs/stx/stx/libbasic/Process.st,v 1.78 1997-06-16 18:21:30 cg Exp $'
  1345 ! !
  1345 ! !
  1346 Process initialize!
  1346 Process initialize!