1. 29 Jul, 2010 1 commit
    • Ian Lynagh's avatar
      Disable symbol visibility pragmas for FreeBSD · 28c2bbb0
      Ian Lynagh authored
      Do not use GCC pragmas for controlling visibility, because it causes
      "undefined reference" errors at link-time.  The true reasons are
      unknown, however FreeBSD 8.x includes GCC 4.2.1 in the base system,
      which might be buggy. 
      28c2bbb0
  2. 21 Jul, 2010 1 commit
  3. 28 Jul, 2010 2 commits
  4. 27 Jul, 2010 1 commit
  5. 26 Jul, 2010 2 commits
  6. 25 Jul, 2010 1 commit
  7. 24 Jul, 2010 5 commits
  8. 23 Jul, 2010 4 commits
  9. 21 Jul, 2010 1 commit
  10. 19 Jul, 2010 1 commit
  11. 22 Jul, 2010 1 commit
  12. 21 Jul, 2010 4 commits
  13. 20 Jul, 2010 4 commits
  14. 16 Jul, 2010 1 commit
    • Simon Marlow's avatar
      Use a separate mutex to protect all_tasks, avoiding a lock-order-reversal · ed301949
      Simon Marlow authored
      In GHC 6.12.x I found a rare deadlock caused by this
      lock-order-reversal:
      
      AQ cap->lock
        startWorkerTask
          newTask
            AQ sched_mutex
      
      scheduleCheckBlackHoles
        AQ sched_mutex
         unblockOne_
          wakeupThreadOnCapabilty
            AQ cap->lock
      
      so sched_mutex and cap->lock are taken in a different order in two
      places.
      
      This doesn't happen in the HEAD because we don't have
      scheduleCheckBlackHoles, but I thought it would be prudent to make
      this less likely to happen in the future by using a different mutex in
      newTask.  We can clearly see that the all_tasks mutex cannot be
      involved in a deadlock, becasue we never call anything else while
      holding it.
      ed301949
  15. 15 Jul, 2010 1 commit
  16. 19 Jul, 2010 2 commits
  17. 18 Jul, 2010 1 commit
  18. 15 Jul, 2010 1 commit
  19. 17 Jul, 2010 5 commits
  20. 16 Jul, 2010 1 commit