Skip to content
  • Simon Marlow's avatar
    [project @ 2003-12-16 13:27:31 by simonmar] · de02e02a
    Simon Marlow authored
    Clean up Capability API
    ~~~~~~~~~~~~~~~~~~~~~~~
    
    - yieldToReturningWorker() is now yieldCapability(), and performs all
      kinds of yielding (both to returning workers and passing to other
      OS threads).  yieldCapabiltiy() does *not* re-acquire a capability.
    
    - waitForWorkCapabilty() is now waitForCapability().
    
    - releaseCapbility() also releases the capability when passing to
      another OS thread.  It is the only way to release a capability (apart
      from yieldCapability(), which calls releaseCapability() internally).
    
    - passCapability() and passCapabilityToWorker() now do not release the
      capability.  They just set a flag to indicate where the capabiliy
      should go when it it next released.
    
    
    Other cleanups:
    
      - Removed all the SMP stuff from Schedule.c.  It had extensive bitrot,
        and was just obfuscating the code.  If it is ever needed again,
        it can be resurrected from CVS.
    
      - Removed some other dead code in Schedule.c, in an attempt to make
        this file more manageable.
    de02e02a