[Haskell-cafe] Fwd: Safe TCP accept loop
Ömer Sinan Ağacan
omeragacan at gmail.com
Tue Oct 24 05:43:24 UTC 2017
> Does this method of handling an accept loop still need masking of async
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:
Hope this helps,
2017-10-24 2:08 GMT+03:00 Sumit Raja <sumitraja at gmail.com>:
> 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
> but I don't know if I need to unmask at any point so was hoping for
> some guidance.
> Haskell-Cafe mailing list
> To (un)subscribe, modify options or view archives go to:
> Only members subscribed via the mailman list are allowed to post.
More information about the Haskell-Cafe