diff options
author | Sunmin Lee <sunm.lee@samsung.com> | 2016-12-19 15:26:30 +0900 |
---|---|---|
committer | Sunmin Lee <sunm.lee@samsung.com> | 2016-12-20 20:39:15 +0900 |
commit | 0cc4ad5390a4fe07765e5b8ede4e632626d1ee1b (patch) | |
tree | 35e33f4b878b733c35e3906eb2fff44ca69099ab /src | |
parent | 4de86e6545480af847b5eb6b58d43f044e449fc5 (diff) | |
download | crash-worker-0cc4ad5390a4fe07765e5b8ede4e632626d1ee1b.tar.gz crash-worker-0cc4ad5390a4fe07765e5b8ede4e632626d1ee1b.tar.bz2 crash-worker-0cc4ad5390a4fe07765e5b8ede4e632626d1ee1b.zip |
crash-manager: consider backward compatibility for crash-stacksubmit/tizen_3.0/20161220.115150accepted/tizen/3.0/wearable/20161221.011357accepted/tizen/3.0/tv/20161221.011025accepted/tizen/3.0/mobile/20161221.011734accepted/tizen/3.0/ivi/20161221.011328accepted/tizen/3.0/common/20161221.181339
Though the crash-stack is available about tid option,
previous kernel has not supported this feature.
Therefore the crash-manager should call crash-stack
considering backward compatibility.
Change-Id: I779783ed46760b88a6d454a05710b29cd4418a44
Signed-off-by: Sunmin Lee <sunm.lee@samsung.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/crash-manager/99-crash-manager.conf.in | 2 | ||||
-rw-r--r-- | src/crash-manager/crash-manager.c | 32 |
2 files changed, 21 insertions, 13 deletions
diff --git a/src/crash-manager/99-crash-manager.conf.in b/src/crash-manager/99-crash-manager.conf.in index a58a81c..e036787 100644 --- a/src/crash-manager/99-crash-manager.conf.in +++ b/src/crash-manager/99-crash-manager.conf.in @@ -1,3 +1,3 @@ # Tizen crash-manager -kernel.core_pattern=|/usr/bin/crash-manager %p %i %u %g %s %t %e %E +kernel.core_pattern=|/usr/bin/crash-manager %p %u %g %s %t %e %E %i kernel.core_pipe_limit=10 diff --git a/src/crash-manager/crash-manager.c b/src/crash-manager/crash-manager.c index ec4d840..43994ba 100644 --- a/src/crash-manager/crash-manager.c +++ b/src/crash-manager/crash-manager.c @@ -211,7 +211,7 @@ static int make_dump_dir(void) return 0; } -static int set_crash_info(char *argv[]) +static int set_crash_info(int argc, char *argv[]) { int ret; char *temp_dir_ret; @@ -219,10 +219,11 @@ static int set_crash_info(char *argv[]) struct tm loc_tm; crash_info.pid_info = argv[1]; - crash_info.tid_info = argv[2]; - crash_info.cmd_info = argv[7]; + crash_info.cmd_info = argv[6]; + if (argc > 8) + crash_info.tid_info = argv[8]; - time_val = atoll(argv[6]); + time_val = atoll(argv[5]); localtime_r(&time_val, &loc_tm); strftime(crash_info.time_info, sizeof(crash_info.time_info), "%Y%m%d%H%M%S", &loc_tm); @@ -459,12 +460,19 @@ static void execute_crash_modules(int argc, char *argv[], int debug) /* Execute crash-stack */ /* - ret = snprintf(command, sizeof(command), - "%s --pid %s --tid %s >> %s", - CRASH_STACK_PATH, - crash_info.pid_info, - crash_info.tid_info, - crash_info.info_path); + if (argc > 8) + ret = snprintf(command, sizeof(command), + "%s --pid %s --tid %s >> %s", + CRASH_STACK_PATH, + crash_info.pid_info, + crash_info.tid_info, + crash_info.info_path); + else + ret = snprintf(command, sizeof(command), + "%s --pid %s >> %s", + CRASH_STACK_PATH, + crash_info.pid_info, + crash_info.info_path); if (ret < 0) { _E("Failed to snprintf for crash-stack command"); return; @@ -762,7 +770,7 @@ int main(int argc, char *argv[]) exit(EXIT_FAILURE); /* Set crash info */ - if (set_crash_info(argv) < 0) + if (set_crash_info(argc, argv) < 0) exit(EXIT_FAILURE); #ifdef SYS_ASSERT @@ -772,7 +780,7 @@ int main(int argc, char *argv[]) /* .dbugmode: launch crash-popup */ if (access(DEBUGMODE_FILE, F_OK) == 0) - launch_crash_popup(argv[8]); + launch_crash_popup(argv[7]); /* Exec dump_systemstate */ dump_system_state(); |