Squeak Class Documentation category index | class index  
 
Process
  category: Kernel-Processes
  superclass: Link
  subclasses:

I represent an independent path of control in the system. This path of control may be stopped (by sending the message suspend) in such a way that it can later be restarted (by sending the message resume). When any one of several paths of control can be advanced, the single instance of ProcessorScheduler named Processor determines which one will actually be advanced partly using the value of priority.

(If anyone ever makes a subclass of Process, be sure to use allSubInstances in anyProcessesAbove:.)

instance methods
  accessing
  isSuspended
offList
priority
priority:
suspendedContext
suspendingList

  changing process state
  primitiveResume
resume
suspend
terminate

  changing suspended state
  install:
popTo:

  debugging
  debug
debugWithTitle:

  error handling
  errorHandler
errorHandler:

  objects from disk
  objectForDataStream:

  printing
  browserPrintString
browserPrintStringWith:
printOn:

  private
  suspendedContext:

class methods
  instance creation
  forContext:priority:

instance methods
  accessing top  
 

isSuspended


 

offList

Inform the receiver that it has been taken off a list that it was
suspended on. This is to break a backpointer.


 

priority

Answer the priority of the receiver.


 

priority:

Set the receiver's priority to anInteger.


 

suspendedContext

Answer the context the receiver has suspended.


 

suspendingList

Answer the list on which the receiver has been suspended.


  changing process state top  
 

primitiveResume

Primitive. Allow the process that the receiver represents to continue. Put
the receiver in line to become the activeProcess. Fail if the receiver is
already waiting in a queue (in a Semaphore or ProcessScheduler).
Essential. See Object documentation whatIsAPrimitive.


 

resume

Allow the process that the receiver represents to continue. Put
the receiver in line to become the activeProcess. Check for a nil
suspendedContext, which indicates a previously terminated Process that
would cause a vm crash if the resume attempt were permitted


 

suspend

Primitive. Stop the process that the receiver represents in such a way
that it can be restarted at a later time (by sending the receiver the
message resume). If the receiver represents the activeProcess, suspend it.
Otherwise fail and the code below will remove the receiver from the list
of waiting processes. Essential. See Object documentation
whatIsAPrimitive.


 

terminate

Stop the process that the receiver represents forever.


  changing suspended state top  
 

install:

Replace the suspendedContext with aContext.


 

popTo:

Replace the suspendedContext with aContext, releasing all contexts
between the currently suspendedContext and it.


  debugging top  
 

debug


 

debugWithTitle:

Open a debugger on me


  error handling top  
 

errorHandler


 

errorHandler:


  objects from disk top  
 

objectForDataStream:

I am not allowed to be written on an object file.


  printing top  
 

browserPrintString


 

browserPrintStringWith:


 

printOn:

Append to the argument, aStream, a sequence of characters that
identifies the receiver.


  private top  
 

suspendedContext:


class methods
  instance creation top  
 

forContext:priority:

Answer an instance of me that has suspended aContext at priority
anInteger.