Fix lockup on with 64 cores.
[nssm.git] / nssm.cpp
index 69abbfb..9c51c53 100644 (file)
--- a/nssm.cpp
+++ b/nssm.cpp
@@ -223,7 +223,7 @@ static int elevate(int argc, TCHAR **argv, unsigned long message) {
 int num_cpus() {\r
   DWORD_PTR i, affinity, system_affinity;\r
   if (! GetProcessAffinityMask(GetCurrentProcess(), &affinity, &system_affinity)) return 64;\r
-  for (i = 0; system_affinity & (1LL << i); i++);\r
+  for (i = 0; system_affinity & (1LL << i); i++) if (i == 64) break;\r
   return (int) i;\r
 }\r
 \r