Rather than opening particular fd's in the /proc directory, just use the rte_eal_get_runtime_dir() function to derive the file-prefix in use. Since the runtime dir call cannot return NULL, we can simplify/remove the error handling where it's used.
Signed-off-by: Bruce Richardson <[email protected]> --- app/test/process.h | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-) diff --git a/app/test/process.h b/app/test/process.h index 402dc4f96f..1ab5671943 100644 --- a/app/test/process.h +++ b/app/test/process.h @@ -8,12 +8,11 @@ #include <errno.h> /* errno */ #include <limits.h> /* PATH_MAX */ #ifndef RTE_EXEC_ENV_WINDOWS -#include <libgen.h> /* basename et al */ #include <sys/wait.h> #endif #include <stdlib.h> /* NULL */ #include <string.h> /* strerror */ -#include <unistd.h> /* readlink */ +#include <unistd.h> #include <dirent.h> #include <rte_string_fns.h> /* strlcpy */ @@ -239,17 +238,7 @@ file_prefix_arg(void) static inline char * get_current_prefix(char *prefix, int size) { - char buf[PATH_MAX]; - - /* get file for config (fd is always 3) return NULL on error */ - if (readlink("/proc/self/fd/3", buf, sizeof(buf)) == -1) - return NULL; - - /* - * path should be something like "/var/run/dpdk/config" - * which results in prefix of "dpdk" - */ - rte_basename(dirname(buf), prefix, size); + rte_basename(rte_eal_get_runtime_dir(), prefix, size); return prefix; } @@ -260,12 +249,8 @@ file_prefix_arg(void) static char prefix[NAME_MAX + sizeof("--file-prefix=")]; char tmp[NAME_MAX]; - if (get_current_prefix(tmp, sizeof(tmp)) == NULL) { - fprintf(stderr, "Error - unable to get current prefix!\n"); - return NULL; - } - - snprintf(prefix, sizeof(prefix), "--file-prefix=%s", tmp); + snprintf(prefix, sizeof(prefix), "--file-prefix=%s", + get_current_prefix(tmp, sizeof(tmp))); return prefix; #endif } -- 2.51.0

