aboutsummaryrefslogtreecommitdiff
path: root/src/libutil
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2022-12-02 15:03:40 +0100
committerEelco Dolstra <edolstra@gmail.com>2022-12-02 15:03:40 +0100
commitfa99ef6a879e77024d60e73901a4773c6756c1bb (patch)
tree7ab6b1ab024a25c790b073210ccaf62af53681bd /src/libutil
parent1e6a5d1ff6e8ef5bf340502f74c4d5039cedc67a (diff)
getMaxCPU(): Lower verbosity level for ignored exceptions
Fixes #7268.
Diffstat (limited to 'src/libutil')
-rw-r--r--src/libutil/util.cc22
-rw-r--r--src/libutil/util.hh2
2 files changed, 10 insertions, 14 deletions
diff --git a/src/libutil/util.cc b/src/libutil/util.cc
index 2c2aae82e..a93ef1901 100644
--- a/src/libutil/util.cc
+++ b/src/libutil/util.cc
@@ -730,23 +730,19 @@ unsigned int getMaxCPU()
auto cgroupFS = getCgroupFS();
if (!cgroupFS) return 0;
- if (!pathExists("/proc/self/cgroup")) return 0;
-
- auto cgroups = getCgroups("/proc/self/cgroup");
+ auto cgroups = getCgroups("/proc/self/cgroupp");
auto cgroup = cgroups[""];
if (cgroup == "") return 0;
auto cpuFile = *cgroupFS + "/" + cgroup + "/cpu.max";
- if (pathExists(cpuFile)) {
- auto cpuMax = readFile(cpuFile);
- auto cpuMaxParts = tokenizeString<std::vector<std::string>>(cpuMax, " \n");
- auto quota = cpuMaxParts[0];
- auto period = cpuMaxParts[1];
- if (quota != "max")
+ auto cpuMax = readFile(cpuFile);
+ auto cpuMaxParts = tokenizeString<std::vector<std::string>>(cpuMax, " \n");
+ auto quota = cpuMaxParts[0];
+ auto period = cpuMaxParts[1];
+ if (quota != "max")
return std::ceil(std::stoi(quota) / std::stof(period));
- }
- } catch (Error &) { ignoreException(); }
+ } catch (Error &) { ignoreException(lvlDebug); }
#endif
return 0;
@@ -1408,7 +1404,7 @@ std::string shellEscape(const std::string_view s)
}
-void ignoreException()
+void ignoreException(Verbosity lvl)
{
/* Make sure no exceptions leave this function.
printError() also throws when remote is closed. */
@@ -1416,7 +1412,7 @@ void ignoreException()
try {
throw;
} catch (std::exception & e) {
- printError("error (ignored): %1%", e.what());
+ printMsg(lvl, "error (ignored): %1%", e.what());
}
} catch (...) { }
}
diff --git a/src/libutil/util.hh b/src/libutil/util.hh
index e5c678682..94d8cc555 100644
--- a/src/libutil/util.hh
+++ b/src/libutil/util.hh
@@ -528,7 +528,7 @@ std::string shellEscape(const std::string_view s);
/* Exception handling in destructors: print an error message, then
ignore the exception. */
-void ignoreException();
+void ignoreException(Verbosity lvl = lvlError);