summaryrefslogtreecommitdiff
path: root/rts/rts.cabal.in
diff options
context:
space:
mode:
authorAndreas Klebinger <klebinger.andreas@gmx.at>2020-03-05 17:55:43 +0100
committerBen Gamari <ben@smart-cactus.org>2020-07-15 16:41:02 -0400
commit750ebaeec06d7ee118abfbb29142c12fb31730cc (patch)
tree880d05d448908fb5cced1d8f2d417982119d643e /rts/rts.cabal.in
parent6aefdf62b767b7828698c3ec5bf6a15e6e20eddb (diff)
downloadhaskell-750ebaeec06d7ee118abfbb29142c12fb31730cc.tar.gz
winio: Clean up code surrounding IOPort primitives.
According to phyx these should only be read and written once per object. Not neccesarily in that order. To strengthen that guarantee the primitives will now throw an exception if we violate this invariant. As a consequence we can eliminate some code from their primops. In particular code dealing with multiple queued readers/writers now simply checks the invariant and throws an exception if it was violated. That is in contrast to mvars which will do things like wake up all readers, queue multi writers etc.
Diffstat (limited to 'rts/rts.cabal.in')
-rw-r--r--rts/rts.cabal.in4
1 files changed, 4 insertions, 0 deletions
diff --git a/rts/rts.cabal.in b/rts/rts.cabal.in
index a16582a7f5..a890d3dc1d 100644
--- a/rts/rts.cabal.in
+++ b/rts/rts.cabal.in
@@ -227,6 +227,8 @@ library
"-Wl,-u,_base_GHCziIOziException_cannotCompactFunction_closure"
"-Wl,-u,_base_GHCziIOziException_cannotCompactPinned_closure"
"-Wl,-u,_base_GHCziIOziException_cannotCompactMutable_closure"
+ "-Wl,-u,_base_GHCziIOPort_doubleReadException_closure"
+ "-Wl,-u,_base_ControlziExceptionziBase_absentSumFieldError_closure"
"-Wl,-u,_base_ControlziExceptionziBase_nonTermination_closure"
"-Wl,-u,_base_ControlziExceptionziBase_nestedAtomically_closure"
"-Wl,-u,_base_GHCziEventziThread_blockedOnBadFD_closure"
@@ -307,6 +309,8 @@ library
"-Wl,-u,base_GHCziIOziException_cannotCompactFunction_closure"
"-Wl,-u,base_GHCziIOziException_cannotCompactPinned_closure"
"-Wl,-u,base_GHCziIOziException_cannotCompactMutable_closure"
+ "-Wl,-u,base_GHCziIOPort_doubleReadException_closure"
+ "-Wl,-u,base_ControlziExceptionziBase_absentSumFieldError_closure"
"-Wl,-u,base_ControlziExceptionziBase_nonTermination_closure"
"-Wl,-u,base_ControlziExceptionziBase_nestedAtomically_closure"
"-Wl,-u,base_GHCziEventziThread_blockedOnBadFD_closure"