constellation-rs / constellation

Distributed programming for Rust.
Apache License 2.0
563 stars 24 forks source link

Robust process cleanup #55

Closed alecmocatta closed 4 years ago

alecmocatta commented 4 years ago

Use palaver's FreeBSD-inspired fork, which ensures child processes are killed on their parent's death.

Native (i.e. cargo run rather than cargo deploy) execution currently orphans its child processes. As such these processes could outlive the top process, though in practise the SIG{INT,HUP,*} sent by the shell to the process group will terminate them. This could be fully solved but it's a slight performance tradeoff and I haven't quite figured out the most appropriate design.