summaryrefslogtreecommitdiff
path: root/src/mongo/util/processinfo_solaris.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/util/processinfo_solaris.cpp')
-rw-r--r--src/mongo/util/processinfo_solaris.cpp33
1 files changed, 19 insertions, 14 deletions
diff --git a/src/mongo/util/processinfo_solaris.cpp b/src/mongo/util/processinfo_solaris.cpp
index 95598132526..5fbb815985c 100644
--- a/src/mongo/util/processinfo_solaris.cpp
+++ b/src/mongo/util/processinfo_solaris.cpp
@@ -68,15 +68,17 @@ static std::string readLineFromFile(const char* fname) {
struct ProcPsinfo {
ProcPsinfo() {
FILE* f = fopen("/proc/self/psinfo", "r");
- massert(16846,
- str::stream() << "couldn't open \"/proc/self/psinfo\": " << errnoWithDescription(),
- f);
+ if (!f) {
+ auto ec = lastSystemError();
+ msgasserted(16846,
+ str::stream()
+ << "couldn't open \"/proc/self/psinfo\": " << errorMessage(ec));
+ }
size_t num = fread(&psinfo, sizeof(psinfo), 1, f);
- int err = errno;
+ auto ec = lastSystemError();
fclose(f);
massert(16847,
- str::stream() << "couldn't read from \"/proc/self/psinfo\": "
- << errnoWithDescription(err),
+ str::stream() << "couldn't read from \"/proc/self/psinfo\": " << errorMessage(ec),
num == 1);
}
psinfo_t psinfo;
@@ -85,15 +87,16 @@ struct ProcPsinfo {
struct ProcUsage {
ProcUsage() {
FILE* f = fopen("/proc/self/usage", "r");
- massert(16848,
- str::stream() << "couldn't open \"/proc/self/usage\": " << errnoWithDescription(),
- f);
+ if (!f) {
+ auto ec = lastSystemError();
+ msgasserted(
+ 16848, str::stream() << "couldn't open \"/proc/self/usage\": " << errorMessage(ec));
+ }
size_t num = fread(&prusage, sizeof(prusage), 1, f);
- int err = errno;
+ auto ec = lastSystemError();
fclose(f);
massert(16849,
- str::stream() << "couldn't read from \"/proc/self/usage\": "
- << errnoWithDescription(err),
+ str::stream() << "couldn't read from \"/proc/self/usage\": " << errorMessage(ec),
num == 1);
}
prusage_t prusage;
@@ -202,9 +205,10 @@ bool ProcessInfo::checkNumaEnabled() {
lgrp_cookie_t cookie = lgrp_init(LGRP_VIEW_OS);
if (cookie == LGRP_COOKIE_NONE) {
+ auto ec = lastSystemError();
LOGV2_WARNING(23362,
"lgrp_init failed: {errnoWithDescription}",
- "errnoWithDescription"_attr = errnoWithDescription());
+ "errnoWithDescription"_attr = errorMessage(ec));
return false;
}
@@ -213,9 +217,10 @@ bool ProcessInfo::checkNumaEnabled() {
int groups = lgrp_nlgrps(cookie);
if (groups == -1) {
+ auto ec = lastSystemError();
LOGV2_WARNING(23363,
"lgrp_nlgrps failed: {errnoWithDescription}",
- "errnoWithDescription"_attr = errnoWithDescription());
+ "errnoWithDescription"_attr = errorMessage(ec));
return false;
}