From 5fb277529f5aa51bf928ffebab0a8e32c702f5a2 Mon Sep 17 00:00:00 2001 From: Antonio SJ Musumeci Date: Tue, 17 Mar 2015 20:39:20 -0400 Subject: [PATCH] attempt to set priority to -10 on startup. closes #65 --- src/mergerfs.cpp | 5 ++++- src/resources.cpp | 10 +++++++++- src/resources.hpp | 3 ++- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/mergerfs.cpp b/src/mergerfs.cpp index 1f35f95e..254b4d12 100644 --- a/src/mergerfs.cpp +++ b/src/mergerfs.cpp @@ -82,7 +82,7 @@ namespace local { return fs::basename(argv[0]); } - + static void get_fuse_operations(struct fuse_operations &ops) @@ -152,10 +152,13 @@ namespace local void setup_resources(void) { + const int prio = -10; + std::srand(time(NULL)); mergerfs::resources::reset_umask(); mergerfs::resources::maxout_rlimit_nofile(); mergerfs::resources::maxout_rlimit_fsize(); + mergerfs::resources::setpriority(prio); } } diff --git a/src/resources.cpp b/src/resources.cpp index 6f31429a..1d81ce93 100644 --- a/src/resources.cpp +++ b/src/resources.cpp @@ -40,7 +40,7 @@ namespace mergerfs } int - maxout_rlimit(int resource) + maxout_rlimit(const int resource) { int rv; struct rlimit rlim; @@ -78,5 +78,13 @@ namespace mergerfs { return maxout_rlimit(RLIMIT_FSIZE); } + + int + setpriority(const int prio) + { + const int SELF = 0; + + return ::setpriority(PRIO_PROCESS,SELF,prio); + } } } diff --git a/src/resources.hpp b/src/resources.hpp index ed0daef0..9d1090ea 100644 --- a/src/resources.hpp +++ b/src/resources.hpp @@ -27,8 +27,9 @@ namespace mergerfs namespace resources { int reset_umask(void); - int maxout_rlimit(int resource); + int maxout_rlimit(const int resource); int maxout_rlimit_nofile(void); int maxout_rlimit_fsize(void); + int setpriority(const int prio); } }