From 6ff2db47b4953c0f2332740e22888b7b1dabe92b Mon Sep 17 00:00:00 2001 From: Colin Davidson Date: Fri, 6 Jan 2023 13:33:47 -0800 Subject: [PATCH] shuffle to private/public wrapper --- core/os/os.odin | 4 ++++ core/os/os_darwin.odin | 3 ++- core/os/os_freebsd.odin | 3 ++- core/os/os_linux.odin | 6 +++--- core/os/os_openbsd.odin | 7 ++++--- core/os/os_wasi.odin | 5 ++++- core/os/os_windows.odin | 4 ++-- 7 files changed, 21 insertions(+), 11 deletions(-) diff --git a/core/os/os.odin b/core/os/os.odin index dd20de17c..e77bf499d 100644 --- a/core/os/os.odin +++ b/core/os/os.odin @@ -261,3 +261,7 @@ heap_allocator :: proc() -> mem.Allocator { data = nil, } } + +processor_core_count :: proc() -> int { + return _processor_core_count() +} diff --git a/core/os/os_darwin.odin b/core/os/os_darwin.odin index 6e25af347..456ac1d76 100644 --- a/core/os/os_darwin.odin +++ b/core/os/os_darwin.odin @@ -772,7 +772,8 @@ get_page_size :: proc() -> int { return page_size } -get_processor_thread_count :: proc() -> int { +@(private) +_processor_core_count :: proc() -> int { count : int = 0 count_size := size_of(count) if _sysctlbyname("hw.logicalcpu", &count, &count_size, nil, 0) == 0 { diff --git a/core/os/os_freebsd.odin b/core/os/os_freebsd.odin index e204227fa..eacbae97a 100644 --- a/core/os/os_freebsd.odin +++ b/core/os/os_freebsd.odin @@ -703,7 +703,8 @@ get_page_size :: proc() -> int { return page_size } -get_processor_thread_count :: proc() -> int { +@(private) +_processor_core_count :: proc() -> int { count : int = 0 count_size := size_of(count) if _sysctlbyname("hw.logicalcpu", &count, &count_size, nil, 0) == 0 { diff --git a/core/os/os_linux.odin b/core/os/os_linux.odin index acc0d3e1b..6f2196504 100644 --- a/core/os/os_linux.odin +++ b/core/os/os_linux.odin @@ -879,9 +879,9 @@ get_page_size :: proc() -> int { return page_size } -get_processor_thread_count :: proc() -> int { - thread_count := int(_unix_get_nprocs()) - return thread_count +@(private) +_processor_core_count :: proc() -> int { + return int(_unix_get_nprocs()) } _alloc_command_line_arguments :: proc() -> []string { diff --git a/core/os/os_openbsd.odin b/core/os/os_openbsd.odin index 139d257a5..3423c1692 100644 --- a/core/os/os_openbsd.odin +++ b/core/os/os_openbsd.odin @@ -706,9 +706,10 @@ get_page_size :: proc() -> int { } _SC_NPROCESSORS_ONLN :: 503 -get_processor_thread_count :: proc() -> int { - thread_count := int(_sysconf(_SC_NPROCESSORS_ONLN)) - return thread_count + +@(private) +_processor_core_count :: proc() -> int { + return int(_sysconf(_SC_NPROCESSORS_ONLN)) } _alloc_command_line_arguments :: proc() -> []string { diff --git a/core/os/os_wasi.odin b/core/os/os_wasi.odin index 70f7481f0..c407acdb4 100644 --- a/core/os/os_wasi.odin +++ b/core/os/os_wasi.odin @@ -89,7 +89,10 @@ seek :: proc(fd: Handle, offset: i64, whence: int) -> (i64, Errno) { current_thread_id :: proc "contextless" () -> int { return 0 } - +@(private) +_processor_core_count :: proc() -> int { + return 1 +} file_size :: proc(fd: Handle) -> (i64, Errno) { stat, err := wasi.fd_filestat_get(wasi.fd_t(fd)) diff --git a/core/os/os_windows.odin b/core/os/os_windows.odin index 2bca2fc95..45be28e9f 100644 --- a/core/os/os_windows.odin +++ b/core/os/os_windows.odin @@ -127,7 +127,8 @@ get_page_size :: proc() -> int { return page_size } -get_processor_thread_count :: proc() -> int { +@(private) +_processor_core_count :: proc() -> int { length : c.int = 0 result := win32.GetLogicalProcessorInformation(nil, &length) @@ -149,7 +150,6 @@ get_processor_thread_count :: proc() -> int { return thread_count } - exit :: proc "contextless" (code: int) -> ! { runtime._cleanup_runtime_contextless() win32.ExitProcess(win32.DWORD(code))