Open future-highway opened 1 year ago
We should add a sleep at the end of the loop. Otherwise, if daemon() exits quickly we'd end up with 100% CPU usage and an infinite loop.
linking related Issue https://github.com/aurae-runtime/auraed/issues/22
catch_unwind
may also be useful
Via MalteJ, "auraed must not exit if something bad happens. When running as pid 1, we get a kernel panic, when pid 1 exits. We could trigger a reboot instead."
A panic in the daemon will only crash the thread, not the program, as everything is in a thread handled by tokio. As long as tokio's crash/exit is handled, then auraed can be prevented from exiting, hopefully.
A simple loop to restart the daemon may be an appropriate solution:
replacing https://github.com/aurae-runtime/auraed/blob/2b274806673ed958fbd5ac799cc7710cf463b758/src/bin/main.rs#L114