haskell-distributed / distributed-process-client-server

Cloud Haskell - gen_server implementation
http://haskell-distributed.github.io
BSD 3-Clause "New" or "Revised" License
13 stars 11 forks source link

`safeCall` and `tryCall` can fail if `resolve` throws #8

Closed hyperthunk closed 7 years ago

hyperthunk commented 7 years ago

as we don't know the implementation ahead of time, we should guard for that.

hyperthunk commented 7 years ago

I've actually fixed the underlying implementation that was causing failures in another ticket, and frankly, I don't want to fix this. I don't think that that either the initCall site or resolveOrDie (which we rely on here) should be in the business of catching indeterminate exceptions, and unless we do so, it makes very little sense to try catching any at all. I propose the user deals with these if safeCall and tryCall fail - I'll document accordingly and then fix...