[project @ 1999-10-08 15:17:00 by simonmar] While fiddling around with concurrency & exceptions this afternoon, I realised an important property of raiseInThread: it is synchronous. The exception is raised immediately, and doesn't sit in some queue somewhere waiting to be raised at a later date.
[project @ 1999-10-08 15:17:00 by simonmar]
While fiddling around with concurrency & exceptions this afternoon, I
realised an important property of raiseInThread: it is synchronous.
The exception is raised immediately, and doesn't sit in some queue
somewhere waiting to be raised at a later date.

This is important if you have eg. two threads that can kill each
other.  We can guarantee that only one of the threads gets to kill the
other, under no circumstances can there be two killThreads fired in
opposite directions at the same time.

Documented this.

mettekou/ghc,anton-dessiatov/ghc,holzensp/ghc,GaloisInc/halvm-ghc,christiaanb/ghc,anton-dessiatov/ghc,mettekou/ghc,wxwxwwxxx/ghc,jstolarek/ghc,olsner/ghc,da-x/ghc,siddhanathan/ghc,gridaphobe/ghc,gcampax/ghc,hferreiro/replay,gcampax/ghc,vikraman/ghc,ghc-android/ghc,sgillespie/ghc,olsner/ghc,anton-dessiatov/ghc,snoyberg/ghc,ghc-android/ghc,lukexi/ghc,ilyasergey/GHC-XAppFix,tjakway/ghcjvm,vTurbine/ghc,mcmaniac/ghc,vTurbine/ghc,gcampax/ghc,AlexanderPankiv/ghc,AlexanderPankiv/ghc,wxwxwwxxx/ghc,christiaanb/ghc,sgillespie/ghc,mfine/ghc,sgillespie/ghc,bitemyapp/ghc,sgillespie/ghc,gridaphobe/ghc,mcschroeder/ghc,ghc-android/ghc,siddhanathan/ghc,nathyong/microghc-ghc,forked-upstream-packages-for-ghcjs/ghc,jstolarek/ghc,nomeata/ghc,tibbe/ghc,christiaanb/ghc,AlexanderPankiv/ghc,lukexi/ghc-7.8-arm64,ml9951/ghc,GaloisInc/halvm-ghc,wxwxwwxxx/ghc,ilyasergey/GHC-XAppFix,acowley/ghc,tjakway/ghcjvm,mcmaniac/ghc,vikraman/ghc,snoyberg/ghc,sdiehl/ghc,fmthoma/ghc,tibbe/ghc,green-haskell/ghc,sgillespie/ghc,forked-upstream-packages-for-ghcjs/ghc,green-haskell/ghc,oldmanmike/ghc,sdiehl/ghc,oldmanmike/ghc,snoyberg/ghc,wxwxwwxxx/ghc,vikraman/ghc,tjakway/ghcjvm,GaloisInc/halvm-ghc,snoyberg/ghc,AlexanderPankiv/ghc,fmthoma/ghc,nkaretnikov/ghc,ml9951/ghc,lukexi/ghc,ryantm/ghc,fmthoma/ghc,nathyong/microghc-ghc,hferreiro/replay,ml9951/ghc,shlevy/ghc,oldmanmike/ghc,anton-dessiatov/ghc,acowley/ghc,shlevy/ghc,spacekitteh/smcghc,gridaphobe/ghc,hferreiro/replay,ezyang/ghc,TomMD/ghc,gcampax/ghc,mfine/ghc,holzensp/ghc,mfine/ghc,ghc-android/ghc,AlexanderPankiv/ghc,snoyberg/ghc,elieux/ghc,fmthoma/ghc,fmthoma/ghc,ezyang/ghc,ekmett/ghc,hferreiro/replay,ilyasergey/GHC-XAppFix,elieux/ghc,nkaretnikov/ghc,elieux/ghc,urbanslug/ghc,vTurbine/ghc,mcmaniac/ghc,bitemyapp/ghc,sdiehl/ghc,mfine/ghc,gcampax/ghc,lukexi/ghc-7.8-arm64,green-haskell/ghc,mcschroeder/ghc,jstolarek/ghc,nathyong/microghc-ghc,acowley/ghc,nomeata/ghc,TomMD/ghc,ml9951/ghc,mcschroeder/ghc,vikraman/ghc,green-haskell/ghc,ml9951/ghc,tjakway/ghcjvm,mettekou/ghc,shlevy/ghc,sgillespie/ghc,vikraman/ghc,ryantm/ghc,olsner/ghc,mcschroeder/ghc,acowley/ghc,GaloisInc/halvm-ghc,bitemyapp/ghc,spacekitteh/smcghc,vTurbine/ghc,anton-dessiatov/ghc,lukexi/ghc-7.8-arm64,da-x/ghc,mfine/ghc,mcmaniac/ghc,sdiehl/ghc,gridaphobe/ghc,lukexi/ghc-7.8-arm64,holzensp/ghc,da-x/ghc,spacekitteh/smcghc,frantisekfarka/ghc-dsi,forked-upstream-packages-for-ghcjs/ghc,frantisekfarka/ghc-dsi,siddhanathan/ghc,olsner/ghc,ekmett/ghc,nathyong/microghc-ghc,lukexi/ghc,shlevy/ghc,bitemyapp/ghc,wxwxwwxxx/ghc,nomeata/ghc,mcschroeder/ghc,green-haskell/ghc,ghc-android/ghc,jstolarek/ghc,mettekou/ghc,shlevy/ghc,hferreiro/replay,acowley/ghc,anton-dessiatov/ghc,frantisekfarka/ghc-dsi,nushio3/ghc,christiaanb/ghc,ryantm/ghc,elieux/ghc,forked-upstream-packages-for-ghcjs/ghc,snoyberg/ghc,ryantm/ghc,ezyang/ghc,olsner/ghc,ml9951/ghc,vTurbine/ghc,GaloisInc/halvm-ghc,jstolarek/ghc,lukexi/ghc-7.8-arm64,da-x/ghc,oldmanmike/ghc,olsner/ghc,spacekitteh/smcghc,nathyong/microghc-ghc,urbanslug/ghc,urbanslug/ghc,ghc-android/ghc,da-x/ghc,nkaretnikov/ghc,tibbe/ghc,GaloisInc/halvm-ghc,christiaanb/ghc,vikraman/ghc,TomMD/ghc,forked-upstream-packages-for-ghcjs/ghc,mettekou/ghc,elieux/ghc,sgillespie/ghc,nkaretnikov/ghc,acowley/ghc,sdiehl/ghc,spacekitteh/smcghc,elieux/ghc,tjakway/ghcjvm,fmthoma/ghc,christiaanb/ghc,ezyang/ghc,nushio3/ghc,urbanslug/ghc,TomMD/ghc,gcampax/ghc,vTurbine/ghc,nushio3/ghc,ml9951/ghc,da-x/ghc,wxwxwwxxx/ghc,gcampax/ghc,tjakway/ghcjvm,siddhanathan/ghc,ekmett/ghc,wxwxwwxxx/ghc,urbanslug/ghc,ezyang/ghc,tjakway/ghcjvm,nkaretnikov/ghc,ezyang/ghc,vTurbine/ghc,siddhanathan/ghc,siddhanathan/ghc,mettekou/ghc,hferreiro/replay,GaloisInc/halvm-ghc,oldmanmike/ghc,bitemyapp/ghc,mfine/ghc,shlevy/ghc,christiaanb/ghc,frantisekfarka/ghc-dsi,sdiehl/ghc,AlexanderPankiv/ghc,urbanslug/ghc,urbanslug/ghc,nathyong/microghc-ghc,ekmett/ghc,ryantm/ghc,tibbe/ghc,mcschroeder/ghc,ilyasergey/GHC-XAppFix,fmthoma/ghc,gridaphobe/ghc,TomMD/ghc,nomeata/ghc,TomMD/ghc,holzensp/ghc,anton-dessiatov/ghc,mcschroeder/ghc,nushio3/ghc,TomMD/ghc,shlevy/ghc,mfine/ghc,hferreiro/replay,ml9951/ghc,mettekou/ghc,da-x/ghc,nkaretnikov/ghc,AlexanderPankiv/ghc,gridaphobe/ghc,nushio3/ghc,nathyong/microghc-ghc,oldmanmike/ghc,oldmanmike/ghc,gridaphobe/ghc,nushio3/ghc,lukexi/ghc,olsner/ghc,nushio3/ghc,mcmaniac/ghc,ghc-android/ghc,sdiehl/ghc,forked-upstream-packages-for-ghcjs/ghc,tibbe/ghc,snoyberg/ghc,frantisekfarka/ghc-dsi,forked-upstream-packages-for-ghcjs/ghc,nomeata/ghc,ekmett/ghc,nkaretnikov/ghc,lukexi/ghc,vikraman/ghc,holzensp/ghc,elieux/ghc,ezyang/ghc,siddhanathan/ghc,acowley/ghc