Changes between Version 91 and Version 92 of LightweightConcurrency


Ignore:
Timestamp:
May 22, 2012 10:24:30 PM (2 years ago)
Author:
kc
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • LightweightConcurrency

    v91 v92  
    2929  * [#PreemptiveScheduling Preemptive Scheduling] 
    3030  * [#SafeForeignCalls SafeForeign Calls] 
    31   * [#AsynchronousExceptions Asynchronous Exceptions] 
    3231  * [#PTMretry PTM retry] 
    3332  * [#Black-holeHandling Black-hole Handling] 
     33  * [#AsynchronousExceptions Asynchronous Exceptions] 
    3434 * [#RelatedWork Related Work] 
    3535 
     
    383383The fast path in the LWC implementation is the same as vanilla implementation. However, in the slow path, we need a way for `T2` to resume the scheduler, and a way for `T1` to join the scheduler when the foreign call execution eventually completes. Assume that the Haskell thread that is running on the task `T1` is `t1`. We utilize the yieldContrlAction of `t1` to enable `T2` to resume execution of other threads on the scheduler. When `T1` eventually resumes execution after the foreign call, it finds that it has lost the race to acquire the capability to T2. At this point, `T1` executes `t1`'s scheduleSContAction to join the scheduler. 
    384384 
     385=== PTM retry === 
     386 
     387=== Black-hole Handling === 
     388 
    385389=== Asynchronous Exceptions === 
    386  
    387 === PTM retry === 
    388  
    389 === Black-hole Handling === 
    390390 
    391391== Related Work ==