[Haskell-cafe] Fwd: Safe TCP accept loop

Sumit Raja sumitraja at gmail.com
Mon Oct 23 23:08:15 UTC 2017


Hi,

I sent this to beginners but got no responses so I'm hoping someone
here can help. I’ve looked at
https://wiki.haskell.org/Concurrency_demos/Graceful_exit and used(2)
Using throwTo without the use of block and unblock. It runs on 8.2.1
with my limited testing. I can’t find out much about what the  > 7.x
GHC replacement for block/unblock is other than mask. What does the
unblock do in acceptConnections'?

Does this method of handling an accept loop still need masking of
async exceptions ? If so where does this need to be done?

I've got a version with async running for my specific application
(https://bitbucket.org/sumitraja/hvrr/src/6927216597a35a9a0d7f2e55cca83fa5b7279ee0/hvrr-comms/src/Network/VRR/Server/TCP/TCPAcceptLoop.hs)
but I don't know if I need to unmask at any point so was hoping for
some guidance.


Thanks



Sumit


More information about the Haskell-Cafe mailing list