Browse Source

lightningd: don't dump core on subdaemon failure.

That tends to dump core over the top of the subdaemon; just exit non-zero.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
ppa-0.6.1
Rusty Russell 7 years ago
parent
commit
3414b992a1
  1. 12
      lightningd/subd.c

12
lightningd/subd.c

@ -321,7 +321,7 @@ static void subdaemon_malformed_msg(struct subd *sd, const u8 *msg)
#if DEVELOPER #if DEVELOPER
if (sd->ld->dev_subdaemon_fail) if (sd->ld->dev_subdaemon_fail)
fatal("Subdaemon %s sent malformed message", sd->name); exit(1);
#endif #endif
} }
@ -356,7 +356,7 @@ static bool log_status_fail(struct subd *sd, const u8 *msg)
#if DEVELOPER #if DEVELOPER
if (sd->ld->dev_subdaemon_fail) if (sd->ld->dev_subdaemon_fail)
fatal("Subdaemon %s hit error", sd->name); exit(1);
#endif #endif
return true; return true;
} }
@ -533,9 +533,11 @@ static void destroy_subd(struct subd *sd)
break; break;
} }
if (fail_if_subd_fails && WIFSIGNALED(status)) if (fail_if_subd_fails && WIFSIGNALED(status)) {
fatal("Subdaemon %s killed with signal %i", log_broken(sd->log, "Subdaemon %s killed with signal %i",
sd->name, WTERMSIG(status)); sd->name, WTERMSIG(status));
exit(1);
}
/* In case we're freed manually, such as channel_fail_permanent */ /* In case we're freed manually, such as channel_fail_permanent */
if (sd->conn) if (sd->conn)

Loading…
Cancel
Save