GVariant *parameters,
gpointer user_data)
{
- __STC_LOG_FUNC_ENTER__;
pid_t pid;
stc_cmd_type_e status;
stc_app_type_e apptype;
if (g_strcmp0(g_variant_get_type_string(parameters),
AUL_APP_STATUS_DBUS_STATUS_CHANGE_TYPE)) {
STC_LOGE("Dbus type not matching, do not process");
- __STC_LOG_FUNC_EXIT__;
return;
}
} else if (!strncmp(statstr, "bg", 2)) {
status = STC_CMD_SET_BACKGRD;
} else {
- __STC_LOG_FUNC_EXIT__;
goto out;
}
else
apptype = STC_APP_TYPE_GUI;
+#if STC_DEBUG_LOG
+ STC_LOGD("\033[1;36mAPP STATUS\033[0;m: Pkg ID [\033[0;34m%s\033[0;m], "
+ "App ID [\033[0;32m%s\033[0;m], PID [\033[1;33m%d\033[0;m], Status [%s], Type [%s]",
+ pkgid, appid, pid, statstr, pkgtype);
+#endif
+
if (state_changed_cb)
state_changed_cb(status, pid, appid, pkgid, apptype);
- __STC_LOG_FUNC_EXIT__;
out:
FREE(appid);
FREE(pkgid);
int ret = 0;
bundle *b = bundle_create();
- STC_LOGD("Warn message : content[%s] type[%s] app_id[%s] limit[%s]",
- title, content, type, app_id, limit);
+ STC_LOGD("Warn message : content[%s] type[%s] app_id[%s] warn[%s]",
+ content, type, app_id, warn);
bundle_add(b, "_SYSPOPUP_CONTENT_", content);
bundle_add(b, "_SYSPOPUP_TYPE_", type);
bundle *b = bundle_create();
STC_LOGD("Restriction message : content[%s] type[%s] app_id[%s] limit[%s]",
- title, content, type, app_id);
+ content, type, app_id, limit);
bundle_add(b, "_SYSPOPUP_CONTENT_", content);
bundle_add(b, "_SYSPOPUP_TYPE_", type);
return lookup;
}
+#if STC_DEBUG_LOG
+static gboolean __proc_tree_foreach_print(gpointer key, gpointer value,
+ gpointer data)
+{
+ proc_key_s *proc_key = (proc_key_s *)key;
+ proc_value_s *proc_value = (proc_value_s *)value;
+
+ STC_LOGD("Proc pid [\033[1;33m%d\033[0;m] ppid [\033[1;35m%s\033[0;m] "
+ "cmdline [\033[0;34m%s\033[0;m]", proc_key->pid,
+ proc_value->status[PROC_STATUS_PPID], proc_value->cmdline);
+
+ return FALSE;
+}
+
+static void __proc_tree_printall(void)
+{
+ g_tree_foreach(proc_tree, __proc_tree_foreach_print, NULL);
+}
+#endif
+
static proc_value_s * __proc_tree_find_parent(proc_value_s *value)
{
proc_value_s *parent = NULL;
parent = lookup;
} while (lookup);
+#if STC_DEBUG_LOG
+ if (parent != NULL)
+ STC_LOGD("\033[0;35mPARENT\033[0;m: tgid[\033[1;33m%s\033[0;m] pid[%s] "
+ "ppid[\033[1;35m%s\033[0;m] cmdline[\033[0;34m%s\033[0;m] name[%s]",
+ parent->status[PROC_STATUS_TGID], parent->status[PROC_STATUS_PID],
+ parent->status[PROC_STATUS_PPID], parent->cmdline,
+ parent->status[PROC_STATUS_NAME]);
+#endif
+
return parent;
}
}
lookup = g_tree_lookup(proc_tree, key);
- if (lookup)
+ if (lookup) {
+#if STC_DEBUG_LOG
+ STC_LOGD("LOOKUP: tgid[\033[1;33m%s\033[0;m] pid[%s] ppid[\033[1;35m%s\033[0;m] "
+ "cmdline[\033[0;34m%s\033[0;m] name[%s]", lookup->status[PROC_STATUS_TGID],
+ lookup->status[PROC_STATUS_PID], lookup->status[PROC_STATUS_PPID],
+ lookup->cmdline, lookup->status[PROC_STATUS_NAME]);
+#endif
return;
+ }
+
+ STC_LOGD("cmdline [%s] pid[%s] ppid[%s]", value->cmdline,
+ value->status[PROC_STATUS_PID], value->status[PROC_STATUS_PPID]);
g_tree_insert(proc_tree, key, value);
+#if STC_DEBUG_LOG
+ __proc_tree_printall();
+#endif
+
parent = __proc_tree_find_parent(value);
if (parent != NULL)
stc_manager_app_status_changed(STC_CMD_SET_SERVICE_LAUNCHED, key->pid,
stc_manager_app_status_changed(STC_CMD_SET_TERMINATED, key->pid, NULL,
NULL, STC_APP_TYPE_NONE);
g_tree_remove(proc_tree, key);
+
+#if STC_DEBUG_LOG
+ __proc_tree_printall();
+#endif
}
static gboolean __check_excn(char *cmdline)
const gchar *pkg_id,
stc_app_type_e app_type)
{
- __STC_LOG_FUNC_ENTER__;
stc_error_e ret = STC_ERROR_NONE;
+ if (pkg_id && app_id)
+ STC_LOGD("cmd [%d] pkgid [%s] appid [%s] pid[%d] type [%d]",
+ cmd, pkg_id, app_id, pid, app_type);
+
switch (cmd) {
case STC_CMD_SET_FOREGRD:
{
ret = STC_ERROR_INVALID_PARAMETER;
}
- __STC_LOG_FUNC_EXIT__;
return ret;
}
if (STC_ERROR_NONE == proc_get_cmdline(pid, cmdline) &&
STC_ERROR_NONE == proc_get_status(pid, status)) {
- if (__check_excn(cmdline))
+ if (__check_excn(cmdline)) {
+#if STC_DEBUG_LOG
+ STC_LOGD("[%s] monitoring is excepted", cmdline);
+#endif
return;
+ }
unsigned int i;
proc_key_s *key;
g_strlcpy(value->status[i], status[i], sizeof(value->status[i]));
g_strlcpy(value->cmdline, cmdline, sizeof(value->cmdline));
+#if STC_DEBUG_LOG
+ STC_LOGD("\033[1;34mFORK\033[0;m: tgid[\033[1;33m%d\033[0;m] ppid=[\033[1;35m%s\033[0;m] "
+ "cmdline[\033[0;34m%s\033[0;m] pid[%d]", tgid, status[PROC_STATUS_PPID], cmdline, pid);
+ STC_LOGD("STATUS: tgid[%s] pid[%s] ppid[%s] name[%s] state[%s] tracerpid[%s]",
+ status[PROC_STATUS_TGID], status[PROC_STATUS_PID], status[PROC_STATUS_PPID],
+ status[PROC_STATUS_NAME], status[PROC_STATUS_STATE], status[PROC_STATUS_TRACERPID]);
+#endif
+
__proc_tree_add(key, value);
}
}
if (STC_ERROR_NONE == proc_get_cmdline(pid, cmdline) &&
STC_ERROR_NONE == proc_get_status(pid, status)) {
- if (__check_excn(cmdline))
+ if (__check_excn(cmdline)) {
+#if STC_DEBUG_LOG
+ STC_LOGD("[%s] monitoring is excepted", cmdline);
+#endif
return;
+ }
unsigned int i;
proc_key_s *key;
g_strlcpy(value->status[i], status[i], sizeof(value->status[i]));
g_strlcpy(value->cmdline, cmdline, sizeof(value->cmdline));
+#if STC_DEBUG_LOG
+ STC_LOGD("\033[1;32mEXEC\033[0;m: tgid[\033[1;33m%d\033[0;m] ppid=[\033[1;35m%s\033[0;m] "
+ "cmdline[\033[0;34m%s\033[0;m] pid[%d]", tgid, status[PROC_STATUS_PPID], cmdline, pid);
+ STC_LOGD("STATUS: tgid[%s] pid[%s] ppid[%s] name[%s] state[%s] tracerpid[%s]",
+ status[PROC_STATUS_TGID], status[PROC_STATUS_PID], status[PROC_STATUS_PPID],
+ status[PROC_STATUS_NAME], status[PROC_STATUS_STATE], status[PROC_STATUS_TRACERPID]);
+#endif
+
__proc_tree_add(key, value);
}
}
if (lookup == NULL) /* unmonitored process */
return;
+#if STC_DEBUG_LOG
+ STC_LOGD("\033[1;31mEXIT\033[0;m: tgid[\033[1;33m%d\033[0;m] "
+ "pid[%d] exitcode[\033[0;31m%d\033[0;m]", tgid, pid, exit_code);
+#endif
+
__proc_tree_remove(&key);
}
stc_process_key_s *proc_key = (stc_process_key_s *)key;
stc_process_value_s *proc_value = (stc_process_value_s *)value;
- STC_LOGD("Process entry => PID [%d], Ground state [%d]",
+ STC_LOGD("Process entry => PID [\033[1;33m%d\033[0;m], Ground state [%d]",
proc_key->pid, proc_value->ground);
return FALSE;
}
stc_app_key_s *app_key = (stc_app_key_s *)key;
stc_app_value_s *app_value = (stc_app_value_s *)value;
- STC_LOGD("Application info => Pkg ID [%s], App ID [%s],"
- " Type [%d], classid [%d],"
+ STC_LOGD("Application info => Pkg ID [\033[0;34m%s\033[0;m], "
+ "App ID [\033[0;32m%s\033[0;m], Type [%d], classid [%d],"
" counter [ in (%lld), out (%lld)]",
app_key->pkg_id, app_key->app_id,
app_value->type, app_value->classid,
__processes_tree_printall(app_value->processes);
return FALSE;
}
-#endif
-#if 0
static void __apps_tree_printall(void)
{
g_tree_foreach(g_system->apps, __apps_tree_foreach_print, NULL);
/* add pid to application cgroup */
place_pids_to_net_cgroup(proc_key.pid, app_key.app_id);
+#if STC_DEBUG_LOG
+ __apps_tree_printall();
+#endif
+
return ret;
}
if (context.entry_removed)
__application_remove_if_empty(context.app_key);
+#if STC_DEBUG_LOG
+ __apps_tree_printall();
+#endif
+
return ret;
}