aboutsummaryrefslogtreecommitdiff
path: root/v_windows/v/vlib/runtime/runtime_windows.c.v
diff options
context:
space:
mode:
authorIndrajith K L2022-12-03 17:00:20 +0530
committerIndrajith K L2022-12-03 17:00:20 +0530
commitf5c4671bfbad96bf346bd7e9a21fc4317b4959df (patch)
tree2764fc62da58f2ba8da7ed341643fc359873142f /v_windows/v/vlib/runtime/runtime_windows.c.v
downloadcli-tools-windows-master.tar.gz
cli-tools-windows-master.tar.bz2
cli-tools-windows-master.zip
Adds most of the toolsHEADmaster
Diffstat (limited to 'v_windows/v/vlib/runtime/runtime_windows.c.v')
-rw-r--r--v_windows/v/vlib/runtime/runtime_windows.c.v21
1 files changed, 21 insertions, 0 deletions
diff --git a/v_windows/v/vlib/runtime/runtime_windows.c.v b/v_windows/v/vlib/runtime/runtime_windows.c.v
new file mode 100644
index 0000000..de5b2ce
--- /dev/null
+++ b/v_windows/v/vlib/runtime/runtime_windows.c.v
@@ -0,0 +1,21 @@
+module runtime
+
+import os
+
+[typedef]
+struct C.SYSTEM_INFO {
+ dwNumberOfProcessors u32
+}
+
+fn C.GetSystemInfo(&C.SYSTEM_INFO)
+
+// nr_cpus returns the number of virtual CPU cores found on the system.
+pub fn nr_cpus() int {
+ sinfo := C.SYSTEM_INFO{}
+ C.GetSystemInfo(&sinfo)
+ mut nr := int(sinfo.dwNumberOfProcessors)
+ if nr == 0 {
+ nr = os.getenv('NUMBER_OF_PROCESSORS').int()
+ }
+ return nr
+}