Thu Jul  8 07:48:51 PDT 2010  Simon Marlow <[email protected]>
  * New asynchronous exception control API (ghc parts)
  
  As discussed on the libraries/haskell-cafe mailing lists
    http://www.haskell.org/pipermail/libraries/2010-April/013420.html
  
  This is a replacement for block/unblock in the asychronous exceptions
  API to fix a problem whereby a function could unblock asynchronous
  exceptions even if called within a blocked context.
  
  The new terminology is "mask" rather than "block" (to avoid confusion
  due to overloaded meanings of the latter).
  
  In GHC, we changed the names of some primops:
  
    blockAsyncExceptions#   -> maskAsyncExceptions#
    unblockAsyncExceptions# -> unmaskAsyncExceptions#
    asyncExceptionsBlocked# -> getMaskingState#
  
  and added one new primop:
  
    maskUninterruptible#
  
  See the accompanying patch to libraries/base for the API changes.

    M ./compiler/prelude/primops.txt.pp -3 +10
    M ./includes/rts/storage/Closures.h -1 +1
    M ./includes/stg/MiscClosures.h -4 +7
    M ./rts/Exception.cmm -45 +111
    M ./rts/Linker.c -3 +4
    M ./rts/Prelude.h +1
    M ./rts/RaiseAsync.c -3 +6

View patch online:
http://darcs.haskell.org/cgi-bin/darcsweb.cgi?r=ghc;a=darcs_commitdiff;h=20100708144851-12142-a7408ec7ada6c132e56582490d7af1ee59d88224.gz

_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to