SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIE")
+IF("$ENV{CFLAGS}" MATCHES "-DTIZEN_ENABLE_COREDUMP")
+ OPTION(USE_COREDUMP_CONF "Use COREDUMP CONF" ON)
+ENDIF()
+
CONFIGURE_FILE(crash-manager.h.in crash-manager.h @ONLY)
ADD_EXECUTABLE(${PROJECT_NAME} ${CRASH_MANAGER_SRCS})
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${crash-manager_pkgs_LDFLAGS} -pie)
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
-CONFIGURE_FILE(99-${PROJECT_NAME}.conf.in 99-${PROJECT_NAME}.conf @ONLY)
CONFIGURE_FILE(500.${PROJECT_NAME}-upgrade.sh.in 500.${PROJECT_NAME}-upgrade.sh @ONLY)
+IF(USE_COREDUMP_CONF)
+ CONFIGURE_FILE(99-${PROJECT_NAME}-debug.conf.in 99-${PROJECT_NAME}.conf @ONLY)
+ELSE()
+ CONFIGURE_FILE(99-${PROJECT_NAME}.conf.in 99-${PROJECT_NAME}.conf @ONLY)
+ENDIF(USE_COREDUMP_CONF)
+
+
INSTALL(FILES ${CMAKE_SOURCE_DIR}/src/${PROJECT_NAME}/crash-manager.conf
DESTINATION ${TZ_SYS_ETC}
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
value = iniparser_getboolean(ini, key, -1);
if (value < 0) {
_D("Invalid value for AllowZip. Use default value [ %s ]",
- ALLOW_ZIP ? "true" : "false" );
+ ALLOW_ZIP ? "true" : "false");
} else {
_D("AllowZip [ %s ]", value ? "true" : "false");
allow_zip = value;
}
#endif
+#ifdef TIZEN_ENABLE_COREDUMP
static void launch_crash_popup(void)
{
GDBusConnection *conn;
if (parameters)
g_variant_unref(parameters);
}
+#endif
static int dump_system_state(void)
{
return system_command_parallel(command);
}
-
-static void execute_crash_modules(int argc, char *argv[], int debug)
+static void execute_crash_modules(int argc, char *argv[])
{
int ret;
char command[PATH_MAX];
+#ifdef TIZEN_ENABLE_COREDUMP
/* Execute crash-pipe */
- if (debug) {
- ret = snprintf(command, sizeof(command),
- "%s --save-core %s",
- CRASH_PIPE_PATH,
- crash_info.core_path);
- if (ret < 0) {
- _E("Failed to snprintf for crash-pipe command");
- return;
- }
- system_command(command);
+ ret = snprintf(command, sizeof(command),
+ "%s --save-core %s",
+ CRASH_PIPE_PATH,
+ crash_info.core_path);
+ if (ret < 0) {
+ _E("Failed to snprintf for crash-pipe command");
+ return;
}
+ system_command(command);
+#endif
#ifdef TIZEN_FEATURE_PTRACE_CALLSTACK
int i, scan_num, dump_num = 0;
int fd;
- if ((fd = open(CRASH_PATH, O_DIRECTORY)) < 0 ) {
+ if ((fd = open(CRASH_PATH, O_DIRECTORY)) < 0) {
_E("Failed to open %s", CRASH_PATH);
return -1;
}
{
/* Execute dump_systemstate in parallel */
static int dump_state_pid;
+#ifdef TIZEN_ENABLE_COREDUMP
int debug_mode = access(DEBUGMODE_PATH, F_OK) == 0;
+#endif
prctl(PR_SET_DUMPABLE, 0);
dump_state_pid = dump_system_state();
/* Exec crash modules */
- execute_crash_modules(argc, argv, debug_mode);
+ execute_crash_modules(argc, argv);
/* Wait dump_system_state */
wait_system_command(dump_state_pid);
compress();
else
move_dump_dir();
-
- /* launch crash-popup only if core file was saved ("debug mode")*/
+#ifdef TIZEN_ENABLE_COREDUMP
+ /* launch crash-popup only if the .debugmode file is exist*/
if (debug_mode)
launch_crash_popup();
+#endif
return 0;
}