diff options
Diffstat (limited to 'extrace.c')
-rw-r--r-- | extrace.c | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/extrace.c b/extrace.c index 25d16ac..47146b6 100644 --- a/extrace.c +++ b/extrace.c @@ -288,6 +288,24 @@ handle_msg(struct cn_msg *cn_hdr) return; } + memset(&cmdline, 0, sizeof cmdline); + fd = openat(proc_dir_fd, "cmdline", O_RDONLY); + if (fd >= 0) { + r = read(fd, cmdline, sizeof cmdline); + close(fd); + + if (r > 0) + cmdline[r] = 0; + + if (full_path) { + r2 = readlinkat(proc_dir_fd, "exe", exe, sizeof exe); + if (r2 > 0) + exe[r2] = 0; + } + + argvrest = strchr(cmdline, 0) + 1; + } + d = pid_depth(pid); if (d < 0) { close(proc_dir_fd); @@ -307,24 +325,6 @@ handle_msg(struct cn_msg *cn_hdr) pid_db[i].start = ev->timestamp_ns; } - memset(&cmdline, 0, sizeof cmdline); - fd = openat(proc_dir_fd, "cmdline", O_RDONLY); - if (fd >= 0) { - r = read(fd, cmdline, sizeof cmdline); - close(fd); - - if (r > 0) - cmdline[r] = 0; - - if (full_path) { - r2 = readlinkat(proc_dir_fd, "exe", exe, sizeof exe); - if (r2 > 0) - exe[r2] = 0; - } - - argvrest = strchr(cmdline, 0) + 1; - } - if (show_cwd) { r3 = readlinkat(proc_dir_fd, "cwd", cwd, sizeof cwd); if (r3 > 0) |