#define MINICOREDUMPER_TIMEOUT DEFAULT_COMMAND_TIMEOUT
#define CRASH_STACK_TIMEOUT DEFAULT_COMMAND_TIMEOUT
#define ZIP_TIMEOUT DEFAULT_COMMAND_TIMEOUT
-#define TEMP_MAPS_FILENAME "maps.temp"
enum {
RET_EXCEED = 1,
return system_command_parallel(command);
}
-static void copy_maps(const struct crash_info *cinfo)
-{
- char maps_path[PATH_MAX];
- char temp_maps_path[PATH_MAX];
- snprintf(maps_path, sizeof(maps_path), "/proc/%d/maps",
- cinfo->pid_info);
-
- snprintf(temp_maps_path, sizeof(temp_maps_path), "%s/%s",
- cinfo->temp_dir, TEMP_MAPS_FILENAME);
-
- copy_file(maps_path, temp_maps_path);
-}
-
-static void remove_maps(const struct crash_info *cinfo)
-{
- char temp_maps_path[PATH_MAX];
-
- snprintf(temp_maps_path, sizeof(temp_maps_path), "%s/%s",
- cinfo->temp_dir, TEMP_MAPS_FILENAME);
- if (unlink(temp_maps_path) < 0)
- _E("Cannot remove %s: %m\n", temp_maps_path);
-}
-
static void save_so_info(const struct crash_info *cinfo)
{
char maps_path[PATH_MAX];
char so_info_path[PATH_MAX];
- snprintf(maps_path, sizeof(maps_path), "%s/%s",
- cinfo->temp_dir, TEMP_MAPS_FILENAME);
+ snprintf(maps_path, sizeof(maps_path), "/proc/%d/maps",
+ cinfo->pid_info);
snprintf(so_info_path, sizeof(so_info_path),
"%s/%s.%s", cinfo->pfx, cinfo->name, "so_info");
/* Exec dump_systemstate */
dump_state_pid = dump_system_state(&cinfo);
- /* Copy maps file to temp dir */
- copy_maps(&cinfo);
+ if (dump_state_pid < 0) {
+ res = EXIT_FAILURE;
+ goto exit;
+ }
}
/* Exec crash modules */
if (execute_crash_modules(&cinfo) < 0) {
if (report_type >= REP_TYPE_FULL) {
/* Save shared objects info (file names, bulid IDs, rpm package names) */
save_so_info(&cinfo);
- remove_maps(&cinfo);
/* Wait dump_system_state */
wait_system_command(dump_state_pid);