summaryrefslogtreecommitdiff
path: root/ace/OS_NS_unistd.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ace/OS_NS_unistd.cpp')
-rw-r--r--ace/OS_NS_unistd.cpp36
1 files changed, 17 insertions, 19 deletions
diff --git a/ace/OS_NS_unistd.cpp b/ace/OS_NS_unistd.cpp
index 5bddc627589..a35c40065f7 100644
--- a/ace/OS_NS_unistd.cpp
+++ b/ace/OS_NS_unistd.cpp
@@ -1,4 +1,3 @@
-// -*- C++ -*-
// $Id$
#include "ace/OS_NS_unistd.h"
@@ -17,11 +16,7 @@ ACE_RCSID(ace, OS_NS_unistd, "$Id$")
#include "ace/OS_NS_Thread.h"
#include "ace/Object_Manager_Base.h"
#include "ace/os_include/sys/os_pstat.h"
-
-#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
-// for sysctl(), used by ACE_OS::num_processors()
-#include <sys/sysctl.h>
-#endif
+#include "ace/os_include/sys/os_sysctl.h"
#if defined (ACE_NEEDS_FTRUNCATE)
extern "C" int
@@ -39,6 +34,8 @@ ftruncate (ACE_HANDLE handle, long len)
/*****************************************************************************/
+ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+
int
ACE_OS::argv_to_string (ACE_TCHAR **argv,
ACE_TCHAR *&buf,
@@ -301,17 +298,17 @@ ACE_OS::num_processors (void)
#if defined (ACE_HAS_PHARLAP)
return 1;
-#elif defined (ACE_WIN32) || defined (ACE_WIN64)
+#elif defined (ACE_WIN32)
SYSTEM_INFO sys_info;
::GetSystemInfo (&sys_info);
return sys_info.dwNumberOfProcessors;
-#elif defined (linux) || defined (sun) || defined (DIGITAL_UNIX) || defined (CYGWIN32)
+#elif defined (_SC_NPROCESSORS_CONF)
return ::sysconf (_SC_NPROCESSORS_CONF);
-#elif defined(__FreeBSD__) || defined (__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+#elif defined (ACE_HAS_SYSCTL)
int num_processors;
int mib[2] = { CTL_HW, HW_NCPU };
size_t len = sizeof (num_processors);
-
+
sysctl(mib, 2, &num_processors, &len, NULL, 0);
return num_processors;
#else
@@ -326,25 +323,25 @@ ACE_OS::num_processors_online (void)
#if defined (ACE_HAS_PHARLAP)
return 1;
-#elif defined (ACE_WIN32) || defined (ACE_WIN64)
+#elif defined (ACE_WIN32)
SYSTEM_INFO sys_info;
::GetSystemInfo (&sys_info);
return sys_info.dwNumberOfProcessors;
-#elif defined (linux) || defined (sun) || defined (DIGITAL_UNIX) || defined (CYGWIN32)
+#elif defined (_SC_NPROCESSORS_ONLN)
return ::sysconf (_SC_NPROCESSORS_ONLN);
+#elif defined (ACE_HAS_SYSCTL)
+ int num_processors;
+ int mib[2] = { CTL_HW, HW_NCPU };
+ size_t len = sizeof (num_processors);
+
+ sysctl(mib, 2, &num_processors, &len, NULL, 0);
+ return num_processors;
#elif defined (__hpux)
struct pst_dynamic psd;
if (::pstat_getdynamic (&psd, sizeof (psd), (size_t) 1, 0) != -1)
return psd.psd_proc_cnt;
else
return -1;
-#elif defined(__FreeBSD__) || defined (__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
- int num_processors;
- int mib[2] = { CTL_HW, HW_NCPU };
- size_t len = sizeof (num_processors);
-
- sysctl(mib, 2, &num_processors, &len, NULL, 0);
- return num_processors;
#else
ACE_NOTSUP_RETURN (-1);
#endif
@@ -647,3 +644,4 @@ ACE_OS::write_n (ACE_HANDLE handle,
return bytes_transferred;
}
+ACE_END_VERSIONED_NAMESPACE_DECL