diff options
Diffstat (limited to 'src/mongo/util/processinfo_solaris.cpp')
-rw-r--r-- | src/mongo/util/processinfo_solaris.cpp | 33 |
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; } |