lightningd: don't abort on incorrect versions, but try to re-exec.

You still shouldn't do this (you could get some transient failures),
but at least you have a decent chance if you reinstall over a running
daemon, instead of getting confusing internal errors if message
formats have changed.

Changelog-Added: lightningd: we now try to restart if subdaemons are upgraded underneath us.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Fixes: #4346
This commit is contained in:
Rusty Russell
2021-04-16 14:01:24 +09:30
parent 8714bf903c
commit 32d650f9df
6 changed files with 87 additions and 4 deletions

View File

@@ -275,6 +275,9 @@ struct lightningd {
/* The round-robin list of channels, for use when doing MPP. */
u64 rr_counter;
/* Should we re-exec ourselves instead of just exiting? */
bool try_reexec;
};
/* Turning this on allows a tal allocation to return NULL, rather than aborting.