From 6d3b4a0f2ef7f85cccc2b01db39d7eea2c10dd23 Mon Sep 17 00:00:00 2001 From: nia Date: Mon, 9 Aug 2021 14:11:56 +0200 Subject: [PATCH] netbsd: handle repeated ENOMEM from HW_IOSTATS safely --- netbsd/Platform.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/netbsd/Platform.c b/netbsd/Platform.c index c0783518..9d57b149 100644 --- a/netbsd/Platform.c +++ b/netbsd/Platform.c @@ -347,6 +347,8 @@ bool Platform_getDiskIO(DiskIOData* data) { iostats = xRealloc(iostats, size); + errno = 0; + if (sysctl(mib, __arraycount(mib), iostats, &size, NULL, 0) == 0) break; @@ -354,6 +356,9 @@ bool Platform_getDiskIO(DiskIOData* data) { CRT_fatalError("Unable to get disk IO statistics"); } + if (errno == ENOMEM) + CRT_fatalError("Unable to get disk IO statistics"); + uint64_t bytesReadSum = 0; uint64_t bytesWriteSum = 0; uint64_t busyTimeSum = 0;