Merge pull request #97 from rnagy/master

OpenBSD fixes
This commit is contained in:
Matt McCormick 2023-05-25 21:50:07 -04:00 committed by GitHub
commit 1dcf3f92fb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 3 deletions

@ -28,12 +28,15 @@
#define CP_IDLE 2 #define CP_IDLE 2
#define CP_NICE 3 #define CP_NICE 3
#define CP_STATES 4 #define CP_STATES 4
#elif defined(__OpenBSD__)
#include <sys/sched.h>
#define CP_STATES CPUSTATES
#else #else
#define CP_USER 0 #define CP_USER 0
#define CP_NICE 1 #define CP_NICE 1
#define CP_SYS 2 #define CP_SYS 2
#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) #if defined(__FreeBSD__) || defined(__NetBSD__)
// *BSD or OSX // *BSD or OSX
#define CP_INTR 3 #define CP_INTR 3
#define CP_IDLE 4 #define CP_IDLE 4

@ -24,7 +24,7 @@
#include "error.h" #include "error.h"
#include "cpu.h" #include "cpu.h"
uint8_t get_cpu_count() uint32_t get_cpu_count()
{ {
int cpu_count = 1; // default to 1 int cpu_count = 1; // default to 1
int mib[2] = { CTL_HW, HW_NCPUONLINE }; int mib[2] = { CTL_HW, HW_NCPUONLINE };
@ -35,7 +35,7 @@ uint8_t get_cpu_count()
error( "sysctl: error getting cpu count" ); error( "sysctl: error getting cpu count" );
} }
return cpu_count; return static_cast<uint32_t>( cpu_count );
} }
float cpu_percentage( unsigned int cpu_usage_delay ) float cpu_percentage( unsigned int cpu_usage_delay )
@ -55,6 +55,8 @@ float cpu_percentage( unsigned int cpu_usage_delay )
usleep( cpu_usage_delay ); usleep( cpu_usage_delay );
size = sizeof( load2 );
// update cpu times // update cpu times
if( sysctl( cpu_ctl, 2, &load2, &size, NULL, 0 ) < 0 ) if( sysctl( cpu_ctl, 2, &load2, &size, NULL, 0 ) < 0 )
{ {