distributed-process
distributed-process copied to clipboard
A bad `CreateHandle` can crash the supervisor process
The code that handles RunClosure spawns a process to deal with initialising the starting the child. The code in wrapHandle, on the other hand, unpacks and executes the Closure (SupervisorPid -> Process(ProcessId, Message)) in the supervisor's own process, which could crash and bring down the managed process itself.
Since this is a common branch - executing every time we spawn a child using that ToChildStart constructor - we should be more careful.