static bool dump_system_state(const struct crash_info *cinfo, pid_t *pid)
{
char *av[] = {"/usr/bin/dump_systemstate", "-d", "-k", "-j", "-p", "-e", "-f", cinfo->log_path, NULL};
- return spawn(av, NULL, NULL, pid, NULL);
+ spawn_param_s param = { .fn = spawn_setstdout, .u.int_val = STDERR_FILENO };
+ return spawn(av, NULL, ¶m, pid, NULL);
}
static void save_so_info(const struct crash_info *cinfo)
NULL
};
- is_ok = spawn_wait(args, NULL, NULL, MINICOREDUMPER_TIMEOUT_MS, exit_code);
+ spawn_param_s param = { .fn = spawn_setstdout, .u.int_val = STDERR_FILENO };
+ is_ok = spawn_wait(args, NULL, ¶m, MINICOREDUMPER_TIMEOUT_MS, exit_code);
/* Minicoredumper must be executed to dump at least PRSTATUS for
other tools, coredump, however, might have been disabled. */
}
char *args[] = {"/bin/zip", "-qyr", zip_path, cinfo->name, NULL};
- spawn_param_s param0 = { .fn = spawn_chdir, .u.char_ptr = cinfo->temp_dir };
+ spawn_param_s param1 = { .fn = spawn_nullstdfds };
+ spawn_param_s param0 = { .fn = spawn_chdir, .u.char_ptr = cinfo->temp_dir, .next = ¶m1 };
(void)spawn_wait(args, NULL, ¶m0, ZIP_TIMEOUT_MS, NULL);
if ((lock_fd = lock_dumpdir()) < 0)
}
char *av[] = {"/usr/bin/dump_systemstate", "-k", "-d", "-j", "-e", "-f", dump_path, NULL};
- bool is_ok = spawn_wait(av, NULL, NULL, 0, exit_code);
+ spawn_param_s param = { .fn = spawn_setstdout, .u.int_val = STDERR_FILENO };
+ bool is_ok = spawn_wait(av, NULL, ¶m, 0, exit_code);
free(dump_path);
_D("compress tempdir is %s", tempdir);
char *av[] = {"/bin/zip", "-qyr", archive_path, ".", NULL};
- spawn_param_s param0 = { .fn = spawn_chdir, .u.char_ptr = tempdir };
+ spawn_param_s param1 = { .fn = spawn_nullstdfds };
+ spawn_param_s param0 = { .fn = spawn_chdir, .u.char_ptr = tempdir, .next = ¶m1 };
bool is_ok = spawn_wait(av, NULL, ¶m0, 0, exit_code);
_I("Storing report at %s", archive_path);