Description
[Imported from JIRA. Reported by Facundo Dominguez @facundominguez) as DP-103 on 2015-02-20 18:27:36]
By Facundo Dominguez at https://cloud-haskell.atlassian.net/browse/DP-103
The implementation of call [1] contains a text like the following:
-- We are guaranteed to receive the reply before the monitor notification
-- (if a reply is sent at all)
As discussed in https://cloud-haskell.atlassian.net/browse/DP-99 this is not true, and I have hit the case in practice where call fails with "call: remote process died: DiedNormal", because the monitor notification arrives before the response.
I don't know how to fix it yet. Maybe using a call to cpDelay
after cpSend
:
spawnMonitor nid (proc `bindCP` cpSend dict us `bindCP` cpDelay us (cpReturn ()))
and having call send ()
after unmonitoring.
[1]
distributed-process/src/Control/Distributed/Process/Internal/Spawn.hs
Lines 110 to 132 in 4d3472a
Fixed by #183
Metadata
Metadata
Assignees
Labels
Type
Projects
Status