1. 01 Jul, 2002 6 commits
  2. 28 Jun, 2002 1 commit
    • simonpj's avatar
      [project @ 2002-06-28 14:06:52 by simonpj] · 33ce2a14
      simonpj authored
      -----------------------------------
      	Fix the CAF info field of error Ids
      	-----------------------------------
      
      A bizarre bug.   In MkId, we build the Id for various error-y
      Ids (like pAT_ERROR_ID) that we grab out of thin air in various
      places (like the desugarer).  They were marked as not referring
      to any CAFs, but this was a lie!  In fact, they refer to 'untangle'
      (see GHC.Err) and thence to a CAF.
      
      Result: GC crash under very obscure circumstances.  (Rob's optimistic
      evaluator tickled it.)
      
      Solution: give them more conservative IdInfo.
      
      Two other better solutions to think about:
      
      * Don't grab them out of thin air; instead get them from
        an interface file.
      
      * Treat them as always-live (requires mod to garbage collector)
        so they don't need to be mentioned in SRTs at all
      33ce2a14
  3. 27 Jun, 2002 4 commits
    • simonmar's avatar
      [project @ 2002-06-27 15:38:56 by simonmar] · 9e9367d6
      simonmar authored
      Finally fix foreign export and foreign import "wrapper" so that
      exceptions raised during the call are handled properly rather than
      causing the RTS to bomb out.
      
      In particular, calling System.exitWith in a foreign export will cause
      the program to terminate cleanly with the desired exit code.  All
      other exceptions are printed on stderr (and the program is
      terminated).
      
      Details:
      
      GHC.TopHandler.runMain is now called runIO, and has type IO a -> IO a
      (previously it had type IO a -> IO (), but that's not general enough
      for a foreign export).  The stubs for foreign export and forein import
      "wrapper" now automatically wrap the computation in runIO or its dual,
      runNonIO.  It turned out to be simpler to do it this way than to do
      the wrapping in Haskell land (plain foreign exports don't have
      wrappers in Haskell).
      9e9367d6
    • simonmar's avatar
      [project @ 2002-06-27 15:15:05 by simonmar] · 3d89e057
      simonmar authored
      Don't process OPTIONS in the HsPp phase as well as the cpp phase.
      Fixes problems with include files appearing twice in stub files.
      3d89e057
    • simonmar's avatar
      [project @ 2002-06-27 12:17:47 by simonmar] · 7c85c014
      simonmar authored
      Improve the documentation for hierarchical libraries.
      7c85c014
    • simonmar's avatar
      [project @ 2002-06-27 09:41:18 by simonmar] · d74f18bb
      simonmar authored
      Updates to make sure that the CVS instructions mention 'libraries' in
      addition to 'hslibs'.
      d74f18bb
  4. 26 Jun, 2002 3 commits
  5. 25 Jun, 2002 4 commits
  6. 24 Jun, 2002 4 commits
  7. 21 Jun, 2002 3 commits
  8. 20 Jun, 2002 5 commits
  9. 19 Jun, 2002 3 commits
    • sof's avatar
      [project @ 2002-06-19 20:45:14 by sof] · 237ea701
      sof authored
      When handling external call-ins (via the RTS API) in
      the multi-threaded case, add the StgMainThread that
      the external thread is going to block waiting on
      to the main_threads list prior to scheduling the new
      worker thread.
      
      Do this by having the scheduler provide a new entry
      point, scheduleWaitThread().
      
      Fixes a bug/race condition spotted by Wolfgang Thaller
      (see scheduleWaitThread() comment) + enables a little
      tidier interface between RtsAPI and Schedule.
      237ea701
    • simonmar's avatar
      [project @ 2002-06-19 13:38:36 by simonmar] · fe1fb2f2
      simonmar authored
      Include directories called 'tests' in source distributions
      fe1fb2f2
    • simonmar's avatar
      [project @ 2002-06-19 12:01:28 by simonmar] · 40891891
      simonmar authored
      Fix wibble in previous commit to Weak.c.  Should fix problems with
      --enable-threaded-rts.
      40891891
  10. 18 Jun, 2002 6 commits
  11. 17 Jun, 2002 1 commit