Comments on: Semantics for Exceptions and Interrupts http://www.weaselhat.com/2007/01/08/exceptions-and-interrupts/ Tue, 25 Oct 2011 16:59:44 +0000 hourly 1 https://wordpress.org/?v=6.3.2 By: Michael Greenberg http://www.weaselhat.com/2007/01/08/exceptions-and-interrupts/comment-page-1/#comment-28 Tue, 09 Jan 2007 01:55:55 +0000 http://www.weaselhat.com/2007/01/08/exceptions-and-interrupts/#comment-28 Interesting! I may not understand what you wrote correctly, but it seems like it’s simply a bug/nonconformance in GHC’s output — the exception queue isn’t being checked when the block is left. It seems feasible to check for exceptions after blocking, e.g. POSIX signals are checked at every context switch. So: why is this still a problem? Is GHC compiling down to primitives that don’t have guarantees for inter-thread communication, or is there some other barrier?

]]>
By: ChrisK http://www.weaselhat.com/2007/01/08/exceptions-and-interrupts/comment-page-1/#comment-27 Tue, 09 Jan 2007 01:30:55 +0000 http://www.weaselhat.com/2007/01/08/exceptions-and-interrupts/#comment-27 Since you mention a difference between the theory and implementation of throw and block, I would like to point out another important difference. The “unblock” command does not reliably allow exceptions to be delivered. My page on the gory details is up on the wiki:

http://haskell.org/haskellwiki/GHC/Concurrency/Flaws

]]>