distributed-process
distributed-process copied to clipboard
Should Node Controller and Network Listener be linked?
If the forkIO thread running handleIncomingMessages terminates, nothing happens to the thread in runNodeController. Isn't this wrong? The node is now cut off from the outside world and there's no means to start handleIncomingMessages - or is there some magic in the Network.Transport layer that handles this? I can't see anything obvious.
@qnikst @facundominguez ping - is this valid? I would've thought we should kill off both the NC threads and thereby provide a means for the hosting/containing application to know our node has gone down.
There are probably a raft of design issues here, but I'm trying to figure out if this issue still deserves attention (at some point...)
It is a valid issue still. Now there is a way to put the Node in closed state, so the application can notice. https://github.com/haskell-distributed/distributed-process/commits/f575a46d4fe36213a1ef1b9bbdff4a62cef0dbb9