Hi, On 06/29/2010 03:53 PM, Ales Kozumplik wrote:
Related: rhbz#607650 --- loader/loader.c | 14 ++++++++++++++ 1 files changed, 14 insertions(+), 0 deletions(-) diff --git a/loader/loader.c b/loader/loader.c index 63594d8..1debabe 100644 --- a/loader/loader.c +++ b/loader/loader.c @@ -45,6 +45,8 @@ #include<arpa/inet.h> #include<sys/ioctl.h> +#include<sys/resource.h> +#include<sys/time.h> #include<sys/types.h> #include<sys/socket.h> #include<sys/stat.h> @@ -2317,6 +2319,13 @@ int main(int argc, char ** argv) { stopNewt(); closeLog(); + /* if anaconda dies suddenly we are doomed, so at least make a coredump */ + struct rlimit corelimit = { RLIM_INFINITY, RLIM_INFINITY}; + ret = setrlimit(RLIMIT_CORE,&corelimit); + if (ret) { + fprintf(stderr, "Unable to set the core dump limit.\n"); + } +
You may want to make this a perror, this way we also get the reason why.
if (FL_RESCUE(flags)) { fmt = _("Running anaconda %s, the %s rescue mode - please wait.\n"); } else { @@ -2338,6 +2347,11 @@ int main(int argc, char ** argv) { } else { rc = 0; } + /* investigate more how the anaconda process ended */ + if (WIFSIGNALED(status)) { + ret = WTERMSIG(status); + fprintf(stderr, "Anaconda died after receiving signal %d.\n", ret); + } if ((rc == 0)&& (FL_POWEROFF(flags) || FL_HALT(flags))) { if (!(pid = fork())) {
Other then that ack. Regards, Hans _______________________________________________ Anaconda-devel-list mailing list Anaconda-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/anaconda-devel-list