Move libcds 1.6.0 from SVN
[libcds.git] / src / topology_osx.cpp
1 //$$CDS-header$$
2
3 #include <cds/os/topology.h>
4
5 #if CDS_OS_TYPE == CDS_OS_OSX
6
7 #include <sys/types.h>
8 #include <sys/sysctl.h>
9
10 namespace cds { namespace OS { CDS_CXX11_INLINE_NAMESPACE namespace OS_X {
11
12     unsigned int topology::s_nProcessorCount = 0;
13
14     void topology::init()
15     {
16         size_t len = sizeof( s_nProcessorCount );
17         if ( sysctlbyname("hw.logicalcpu", &s_nProcessorCount, &len, NULL, 0 ) != 0 )
18             s_nProcessorCount = 1;
19     }
20
21     void topology::fini()
22     {}
23 }}} // namespace cds::OS::Linux
24
25 #endif  // #if CDS_OS_TYPE == CDS_OS_OSX