
Hi Sumit,
Does this method of handling an accept loop still need masking of async exceptions
You need to mask async exceptions between `accept()` and cleanup action
registration, because an exception in between these operations will cause the
socket to leak.
You can take a look at warp's accept loop:
https://github.com/yesodweb/wai/blob/master/warp/Network/Wai/Handler/Warp/Ru...
Hope this helps,
Ömer
2017-10-24 2:08 GMT+03:00 Sumit Raja
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/6927216597a35a9a0d7f2e55cca83fa5b72...) but I don't know if I need to unmask at any point so was hoping for some guidance.
Thanks
Sumit _______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.