summaryrefslogtreecommitdiffstats
path: root/src/vlib/unix/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/vlib/unix/main.c')
-rw-r--r--src/vlib/unix/main.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/vlib/unix/main.c b/src/vlib/unix/main.c
index cb34a89f87a..f52316e553b 100644
--- a/src/vlib/unix/main.c
+++ b/src/vlib/unix/main.c
@@ -57,7 +57,7 @@
#define UNIX_CLI_DEFAULT_HISTORY 50
char *vlib_default_runtime_dir __attribute__ ((weak));
-char *vlib_default_runtime_dir = "/run/vlib";
+char *vlib_default_runtime_dir = "vlib";
unix_main_t unix_main;
@@ -437,7 +437,16 @@ unix_config (vlib_main_t * vm, unformat_input_t * input)
um->unix_config_complete = 1;
if (um->runtime_dir == 0)
- um->runtime_dir = format (0, "%s%c", vlib_default_runtime_dir, 0);
+ {
+ uid_t uid = geteuid ();
+ if (uid == 00)
+ um->runtime_dir = format (0, "/run/%s%c",
+ vlib_default_runtime_dir, 0);
+ else
+ um->runtime_dir = format (0, "/run/user/%u/%s%c", uid,
+ vlib_default_runtime_dir, 0);
+ }
+
return 0;
}