[Bug 1215] New: _SC_PAGESIZE is defined but sysconf returns -1
rtems-bugs at rtems.org
rtems-bugs at rtems.org
Tue Jan 30 10:08:38 UTC 2007
http://www.rtems.org/bugzilla/show_bug.cgi?id=1215
Summary: _SC_PAGESIZE is defined but sysconf returns -1
Product: RTEMS
Version: 4.6
Platform: All
OS/Version: RTEMS
Status: NEW
Severity: major
Priority: P2
Component: misc
AssignedTo: joel.sherrill at oarcorp.com
ReportedBy: jwillemsen at remedy.nl
With the port of ACE/TAO/CIAO we found a problem with _SC_PAGESIZE. The memory
pools in ACE use the pagesize as allocation granularity. When _SC_PAGESIZE is
defined we use sysconf to retrieve the actual pagesize. We now found that
calling ::sysconf (_SC_PAGESIZE) returns -1 instead of a valid pagesize, the
oroginal ACE code is below. I do see two solutions, implement _SC_PAGESIZE to
return a correct value or remove the _SC_PAGESIZE define
ACE_INLINE long
ACE_OS::getpagesize (void)
{
ACE_OS_TRACE ("ACE_OS::getpagesize");
#if defined (ACE_WIN32) && !defined (ACE_HAS_PHARLAP)
SYSTEM_INFO sys_info;
::GetSystemInfo (&sys_info);
return (long) sys_info.dwPageSize;
#elif defined (_SC_PAGESIZE)
return ::sysconf (_SC_PAGESIZE);
#elif defined (ACE_HAS_GETPAGESIZE)
return ::getpagesize ();
#else
// Use the default set in config.h
return ACE_PAGE_SIZE;
#endif /* ACE_WIN32 */
--
Configure bugmail: http://www.rtems.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You reported the bug, or are watching the reporter.
More information about the bugs
mailing list