Split execute_crash_modules 20/185420/10
authorMateusz Moscicki <m.moscicki2@partner.samsung.com>
Fri, 20 Jul 2018 10:58:22 +0000 (12:58 +0200)
committerKarol Lewandowski <k.lewandowsk@samsung.com>
Wed, 22 Aug 2018 05:51:37 +0000 (07:51 +0200)
Change-Id: Iae6af748786c68dcb45a50dc37275fe12e40d85d

src/crash-manager/crash-manager.c

index 2a102c5..80dd82d 100644 (file)
@@ -708,16 +708,12 @@ static void save_so_info()
        get_and_save_so_info(maps_path, so_info_path);
 }
 
-static void execute_crash_modules(int argc, char *argv[])
+#ifdef TIZEN_ENABLE_COREDUMP
+static void execute_crash_pipe(int argc, char *argv[])
 {
-
-#if defined(TIZEN_ENABLE_COREDUMP) || defined(TIZEN_ENABLE_MINICOREDUMP) || defined(TIZEN_FEATURE_PTRACE_CALLSTACK)
        int ret;
        char command[PATH_MAX];
-#endif
 
-       _D("Execute crash module: ");
-#ifdef TIZEN_ENABLE_COREDUMP
        /* Execute crash-pipe */
        ret = snprintf(command, sizeof(command),
                        "%s --save-core %s",
@@ -731,10 +727,12 @@ static void execute_crash_modules(int argc, char *argv[])
                return;
        }
        system_command(command);
-#endif
-
+}
+#endif /* TIZEN_ENABLE_COREDUMP */
 
 #ifdef TIZEN_ENABLE_MINICOREDUMP
+static void execute_minicoredump(int argc, char *argv[])
+{
        char *coredump_name = NULL;
        char *prstatus_fd_str = NULL;
 
@@ -774,16 +772,15 @@ static void execute_crash_modules(int argc, char *argv[])
 
        free(coredump_name);
        free(prstatus_fd_str);
-#endif
+}
+#endif /* TIZEN_ENABLE_MINICOREDUMP */
 
 #ifdef TIZEN_FEATURE_PTRACE_CALLSTACK
+static void execute_crash_stack(int argc, char *argv[])
+{
+       int ret;
+       char command[PATH_MAX];
 
-# ifdef SYS_ASSERT
-       /* Use process_vm_readv() version as fallback if sys-assert
-        * failed to generate report */
-       if (crash_info.have_sysassert_report)
-               return;
-# endif
        /* Execute crash-stack */
        if (argc > 8)
                ret = snprintf(command, sizeof(command),
@@ -809,6 +806,30 @@ static void execute_crash_modules(int argc, char *argv[])
        }
 
        system_command(command);
+}
+#endif /* TIZEN_FEATURE_PTRACE_CALLSTACK */
+
+static void execute_crash_modules(int argc, char *argv[])
+{
+       _D("Execute crash module: ");
+
+#ifdef TIZEN_ENABLE_COREDUMP
+       execute_crash_pipe(argc, argv);
+#endif
+
+#ifdef TIZEN_ENABLE_MINICOREDUMP
+       execute_minicoredump(argc, argv);
+#endif
+
+#ifdef TIZEN_FEATURE_PTRACE_CALLSTACK
+
+# ifdef SYS_ASSERT
+       /* Use process_vm_readv() version as fallback if sys-assert
+        * failed to generate report */
+       if (crash_info.have_sysassert_report)
+               return;
+# endif
+       execute_crash_stack(argc, argv);
 #endif /* TIZEN_FEATURE_PTRACE_CALLSTACK */
 }