Skip to content
  • wolfgang's avatar
    [project @ 2003-10-01 10:49:07 by wolfgang] · 324e96d2
    wolfgang authored
    Threaded RTS:
    Don't start new worker threads earlier than necessary.
    After this commit, a Haskell program that uses neither forkOS nor forkIO is
    really single-threaded (rather than using two OS threads internally).
    
    Some details:
    Worker threads are now only created when a capability is released, and
    only when
    (there are no worker threads)
    	&& (there are runnable Haskell threads ||
    	    there are Haskell threads blocked on IO or threadDelay)
    awaitEvent can now be called from bound thread scheduling loops
    (so that we don't have to create a worker thread just to run awaitEvent)
    324e96d2