aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/mds.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/mds.c b/src/mds.c
index ffe7023..5a204f6 100644
--- a/src/mds.c
+++ b/src/mds.c
@@ -347,20 +347,25 @@ int spawn_and_respawn_server(int fd)
/* Get the current time. (End of child process.) */
time_error |= (monotone(&time_end) < 0);
+ if (WIFEXITED(status))
+ eprintf("`%s' exited with code %i.", master_server, WEXITSTATUS(status));
+ else
+ eprintf("`%s' died by signal %i.", master_server, WTERMSIG(status));
+
/* Do not respawn if we could not read the time. */
if (time_error)
{
perror(*argv);
- eprintf("%s died abnormally, not respawning because we could not read the time.", master_server);
+ eprintf("`%s' died abnormally, not respawning because we could not read the time.", master_server);
goto fail;
}
/* Respawn if the server did not die too fast. */
if (time_end.tv_sec - time_start.tv_sec >= RESPAWN_TIME_LIMIT_SECONDS)
- eprintf("%s died abnormally, respawning.", master_server);
+ eprintf("`%s' died abnormally, respawning.", master_server);
else
{
- eprintf("%s died abnormally, died too fast, not respawning.", master_server);
+ eprintf("`%s' died abnormally, died too fast, not respawning.", master_server);
goto fail;
}