MCPcopy Create free account
hub / github.com/abbeycode/UnrarKit / GetNumberOfCPU

Function GetNumberOfCPU

Libraries/unrar/threadmisc.cpp:111–139  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

109
110
111uint GetNumberOfCPU()
112{
113#ifndef RAR_SMP
114 return 1;
115#else
116#ifdef _UNIX
117#ifdef _SC_NPROCESSORS_ONLN
118 uint Count=(uint)sysconf(_SC_NPROCESSORS_ONLN);
119 return Count<1 ? 1:Count;
120#elif defined(_APPLE)
121 uint Count;
122 size_t Size=sizeof(Count);
123 return sysctlbyname("hw.ncpu",&Count,&Size,NULL,0)==0 ? Count:1;
124#endif
125#else // !_UNIX
126 DWORD_PTR ProcessMask;
127 DWORD_PTR SystemMask;
128
129 if (!GetProcessAffinityMask(GetCurrentProcess(),&ProcessMask,&SystemMask))
130 return 1;
131 uint Count=0;
132 for (DWORD_PTR Mask=1;Mask!=0;Mask<<=1)
133 if ((ProcessMask & Mask)!=0)
134 Count++;
135 return Count<1 ? 1:Count;
136#endif
137
138#endif // RAR_SMP
139}
140
141
142uint GetNumberOfThreads()

Callers 1

GetNumberOfThreadsFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected