Commit 145f96eb authored by Fred Drake's avatar Fred Drake

my_getpagesize(): New function; returns the size of a page of memory.

                   Versions are defined for Windows and Unix; the Unix
                   flavor uses sysconf() to get the page size; this avoids
                   the use of getpagesize(), which is deprecated and
                   requires an additional library on some platforms
                   (specifically, Reliant UNIX).

This partially closes SourceForge bug #113797.
parent 370a29fe
......@@ -26,6 +26,13 @@
#ifdef MS_WIN32
#include <windows.h>
static int
my_getpagesize(void)
{
SYSTEM_INFO si;
GetSystemInfo(&si);
return si.dwPageSize;
}
#endif
#ifdef UNIX
......@@ -38,6 +45,16 @@
#define MS_SYNC 0
#endif
#if defined(HAVE_SYSCONF) && defined(_SC_PAGESIZE)
static int
my_getpagesize(void)
{
return sysconf(_SC_PAGESIZE);
}
#else
#define my_getpagesize getpagesize
#endif
#endif /* UNIX */
#include <string.h>
......@@ -981,18 +998,7 @@ initmmap(void)
PyInt_FromLong(MAP_ANON) );
#endif
#ifdef UNIX
PyDict_SetItemString (dict, "PAGESIZE",
PyInt_FromLong( (long)getpagesize() ) );
#endif
#ifdef MS_WIN32
{
SYSTEM_INFO si;
GetSystemInfo(&si);
PyDict_SetItemString (dict, "PAGESIZE",
PyInt_FromLong( si.dwPageSize ) );
}
#endif /* MS_WIN32 */
PyInt_FromLong( (long)my_getpagesize() ) );
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment