1. 20 Jul, 2012 3 commits
  2. 19 Jul, 2012 1 commit
  3. 18 Jul, 2012 1 commit
  4. 17 Jul, 2012 2 commits
  5. 15 Jul, 2012 1 commit
  6. 13 Jul, 2012 2 commits
  7. 11 Jul, 2012 1 commit
  8. 10 Jul, 2012 1 commit
  9. 09 Jul, 2012 1 commit
  10. 04 Jul, 2012 3 commits
  11. 02 Jul, 2012 1 commit
  12. 29 Jun, 2012 1 commit
  13. 27 Jun, 2012 1 commit
  14. 26 Jun, 2012 1 commit
  15. 23 Jun, 2012 1 commit
  16. 21 Jun, 2012 1 commit
  17. 20 Jun, 2012 2 commits
  18. 19 Jun, 2012 8 commits
  19. 14 Jun, 2012 1 commit
  20. 13 Jun, 2012 1 commit
  21. 11 Jun, 2012 3 commits
  22. 08 Jun, 2012 1 commit
  23. 07 Jun, 2012 2 commits
    • Simon Marlow's avatar
      add forkFinally · 11b4bad5
      Simon Marlow authored
      This is a more robust version of "forkIO (m `finally` k)", because it
      closes a window between thread creation and the finally where the
      thread can receive an async exception.  Useful for layers over threads
      that need to catch threads dying with absolute certainty.
      
      forkFinally :: IO a -> (Either SomeException a -> IO ()) -> IO ThreadId
      forkFinally action and_then =
        mask $ \restore ->
          forkIO $ try (restore action) >>= and_then
      11b4bad5
    • pcapriotti's avatar
      Allow openTempFile to retry when it hits a directory (#4968). · 53184fb8
      pcapriotti authored
      Windows returns an EACCES error instead of EEXIST when a call to `open`
      fails due to an existing directory, so add a special case for this
      situation.
      53184fb8