Process.st
changeset 3784 181c246ea421
parent 3783 5ac905a9a8c0
child 3785 261c4ca9238f
equal deleted inserted replaced
3783:5ac905a9a8c0 3784:181c246ea421
   101         and termination is possible:
   101         and termination is possible:
   102           any other process can wait for a process to suspend or terminate. 
   102           any other process can wait for a process to suspend or terminate. 
   103           This waiting is implemented by using suspendSemaphore and exitBlocks
   103           This waiting is implemented by using suspendSemaphore and exitBlocks
   104           (where an exitSemaphore is signalled).
   104           (where an exitSemaphore is signalled).
   105           See waitUntilSuspended / waitUntilTerminated.
   105           See waitUntilSuspended / waitUntilTerminated.
       
   106 
       
   107 
       
   108     Process states:
       
   109         #dead           process has (been) terminated;
       
   110                         the process instance has no underlting
       
   111                         thread.
       
   112 
       
   113         #run            the process is willing to run,
       
   114                         but not active (i.e. another higher prio
       
   115                         process is currently executing)
       
   116 
       
   117         #active         the process is the current process
       
   118                         (there is only one)
       
   119 
       
   120         #ioWait         waiting on some io-related semaphore
       
   121                         (typically in #readWait / #writeWait)
       
   122 
       
   123         #eventWait      waiting on some GUI event
       
   124 
       
   125         #timeWait       waiting on a timer-related semaphore
       
   126 
       
   127         #wait           waiting on some (other) semaphore
       
   128 
       
   129         #suspended      stopped from execution; however, an interrupt
       
   130                         will return it into the run state.
       
   131 
       
   132         #stopped        stopped from execution; an interrupt will
       
   133                         NOT return it into the run state (for debugging)
       
   134 
       
   135         #debug          debugger sitting on top of the processes
       
   136                         stack.
       
   137 
       
   138     Win32 only:
       
   139 
       
   140         #osWait         waiting on an OS-API call to finish.
       
   141                         can be interrupted, terminated and aborted
       
   142                         (i.e. the usual context actions are is possible).
       
   143 
       
   144         #hardStopped    thread was cought while in a blocking API call
       
   145                         or primitive endless loop and has been stopped by
       
   146                         the scheduler.
       
   147                         Can only be resumed or hard-terminated - abort
       
   148                         or soft terminate or unwind actions are not possible.
       
   149                         (due to win32 limitations)
       
   150 
   106 
   151 
   107     [Instance variables:]
   152     [Instance variables:]
   108 
   153 
   109         id                     <SmallInteger>   a unique process-id
   154         id                     <SmallInteger>   a unique process-id
   110 
   155 
  1545 ! !
  1590 ! !
  1546 
  1591 
  1547 !Process class methodsFor:'documentation'!
  1592 !Process class methodsFor:'documentation'!
  1548 
  1593 
  1549 version
  1594 version
  1550     ^ '$Header: /cvs/stx/stx/libbasic/Process.st,v 1.94 1998-08-26 13:41:26 cg Exp $'
  1595     ^ '$Header: /cvs/stx/stx/libbasic/Process.st,v 1.95 1998-08-26 15:46:46 cg Exp $'
  1551 ! !
  1596 ! !
  1552 Process initialize!
  1597 Process initialize!