From 80204a5e0a2cacdaac2b2f78c2609aa56c067ec0 Mon Sep 17 00:00:00 2001 From: Leah Neukirchen Date: Thu, 8 Feb 2018 15:06:47 +0100 Subject: extrace: read cmdline first, it is the core information --- extrace.c | 36 ++++++++++++++++++------------------ 1 file 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) -- cgit 1.4.1