return;
}
+ proc_key_s *proc_key = MALLOC0(proc_key_s, 1);
+ if (proc_key == NULL) {
+ STC_LOGE("memory allocation failed");
+ return;
+ }
+
+ proc_value_s *proc_value = MALLOC0(proc_value_s, 1);
+ if (proc_value == NULL) {
+ STC_LOGE("memory allocation failed");
+ FREE(proc_key);
+ return;
+ }
+
+ memcpy(proc_key, key, sizeof(proc_key_s));
+ memcpy(proc_value, value, sizeof(proc_value_s));
+
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);
+ g_tree_insert(proc_tree, proc_key, proc_value);
if (STC_DEBUG_LOG)
__proc_tree_printall();
- parent = __proc_tree_find_parent(value);
+ parent = __proc_tree_find_parent(proc_value);
if (parent != NULL)
- stc_plugin_procfs_status_changed(STC_CMD_SET_SERVICE_LAUNCHED, key->pid,
+ stc_plugin_procfs_status_changed(STC_CMD_SET_SERVICE_LAUNCHED, proc_key->pid,
parent->cmdline, parent->cmdline, STC_APP_TYPE_SERVICE);
else
- stc_plugin_procfs_status_changed(STC_CMD_SET_SERVICE_LAUNCHED, key->pid,
- value->cmdline, value->cmdline, STC_APP_TYPE_SERVICE);
+ stc_plugin_procfs_status_changed(STC_CMD_SET_SERVICE_LAUNCHED, proc_key->pid,
+ proc_value->cmdline, proc_value->cmdline, STC_APP_TYPE_SERVICE);
}
static void __proc_tree_remove(const proc_key_s *key)
char cmdline[PROC_NAME_MAX] = {0, };
char status[PROC_STATUS_CNT][PROC_BUF_MAX];
+ if (tgid != pid)
+ return;
+
memset(status, 0x0, sizeof(status));
if (STC_ERROR_NONE == proc_get_cmdline(pid, cmdline) &&
}
unsigned int i;
- proc_key_s *key;
- proc_value_s *value;
-
- key = MALLOC0(proc_key_s, 1);
- if (key == NULL) {
- STC_LOGE("memory allocation failed");
- return;
- }
+ proc_key_s key;
+ proc_value_s value;
- value = MALLOC0(proc_value_s, 1);
- if (value == NULL) {
- STC_LOGE("memory allocation failed");
- FREE(key);
- return;
- }
+ memset(&key, 0x0, sizeof(proc_key_s));
+ memset(&value, 0x0, sizeof(proc_value_s));
- key->pid = tgid;
+ key.pid = tgid;
for (i = 0; i < PROC_STATUS_CNT; ++i)
- g_strlcpy(value->status[i], status[i], sizeof(value->status[i]));
- g_strlcpy(value->cmdline, cmdline, sizeof(value->cmdline));
+ 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] "
status[PROC_STATUS_NAME], status[PROC_STATUS_STATE], status[PROC_STATUS_TRACERPID]);
}
- __proc_tree_add(key, value);
+ __proc_tree_add(&key, &value);
}
}
char cmdline[PROC_NAME_MAX] = {0, };
char status[PROC_STATUS_CNT][PROC_BUF_MAX];
+ if (tgid != pid)
+ return;
+
memset(status, 0x0, sizeof(status));
if (STC_ERROR_NONE == proc_get_cmdline(pid, cmdline) &&
}
unsigned int i;
- proc_key_s *key;
- proc_value_s *value;
-
- key = MALLOC0(proc_key_s, 1);
- if (key == NULL) {
- STC_LOGE("memory allocation failed");
- return;
- }
+ proc_key_s key;
+ proc_value_s value;
- value = MALLOC0(proc_value_s, 1);
- if (value == NULL) {
- STC_LOGE("memory allocation failed");
- FREE(key);
- return;
- }
+ memset(&key, 0x0, sizeof(proc_key_s));
+ memset(&value, 0x0, sizeof(proc_value_s));
- key->pid = tgid;
+ key.pid = tgid;
for (i = 0; i < PROC_STATUS_CNT; ++i)
- g_strlcpy(value->status[i], status[i], sizeof(value->status[i]));
- g_strlcpy(value->cmdline, cmdline, sizeof(value->cmdline));
+ 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] "
status[PROC_STATUS_NAME], status[PROC_STATUS_STATE], status[PROC_STATUS_TRACERPID]);
}
- __proc_tree_add(key, value);
+ __proc_tree_add(&key, &value);
}
}