Alexandre Julliard : libwine: Use sysconf() instead of getpagesize().

Alexandre Julliard julliard at winehq.org
Wed Jan 9 13:30:37 CST 2013


Module: wine
Branch: master
Commit: cef0fde53d4be918ea33df20f5e368d1cb3fce86
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=cef0fde53d4be918ea33df20f5e368d1cb3fce86

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Tue Jan  8 22:02:37 2013 +0100

libwine: Use sysconf() instead of getpagesize().

---

 libs/wine/loader.c |    2 +-
 libs/wine/mmap.c   |   14 +++++++-------
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/libs/wine/loader.c b/libs/wine/loader.c
index 9681381..302e9c1 100644
--- a/libs/wine/loader.c
+++ b/libs/wine/loader.c
@@ -380,7 +380,7 @@ static void *map_dll( const IMAGE_NT_HEADERS *nt_descr )
     IMAGE_SECTION_HEADER *sec;
     BYTE *addr;
     DWORD code_start, data_start, data_end;
-    const size_t page_size = getpagesize();
+    const size_t page_size = sysconf( _SC_PAGESIZE );
     const size_t page_mask = page_size - 1;
     int delta, nb_sections = 2;  /* code + data */
     unsigned int i;
diff --git a/libs/wine/mmap.c b/libs/wine/mmap.c
index 44fc53f..b219147 100644
--- a/libs/wine/mmap.c
+++ b/libs/wine/mmap.c
@@ -104,7 +104,7 @@ static int try_mmap_fixed (void *addr, size_t len, int prot, int flags,
                            int fildes, off_t off)
 {
     char * volatile result = NULL;
-    int pagesize = getpagesize();
+    const size_t pagesize = sysconf( _SC_PAGESIZE );
     pid_t pid, wret;
 
     /* We only try to map to a fixed address if
@@ -255,7 +255,7 @@ static inline void reserve_area( void *addr, void *end )
 #if (defined(__svr4__) || defined(__NetBSD__)) && !defined(MAP_TRYFIXED)
     /* try_mmap_fixed is inefficient when using vfork, so we need a different algorithm here */
     /* we assume no other thread is running at this point */
-    size_t i, pagesize = getpagesize();
+    size_t i, pagesize = sysconf( _SC_PAGESIZE );
     char vec;
 
     while (size)
@@ -321,19 +321,19 @@ static inline void reserve_malloc_space( size_t size )
  */
 static inline void reserve_dos_area(void)
 {
-    const size_t page_size = getpagesize();
+    const size_t first_page = 0x1000;
     const size_t dos_area_size = 0x110000;
     void *ptr;
 
     /* first page has to be handled specially */
-    ptr = wine_anon_mmap( (void *)page_size, dos_area_size - page_size, PROT_NONE, MAP_NORESERVE );
-    if (ptr != (void *)page_size)
+    ptr = wine_anon_mmap( (void *)first_page, dos_area_size - first_page, PROT_NONE, MAP_NORESERVE );
+    if (ptr != (void *)first_page)
     {
-        if (ptr != (void *)-1) munmap( ptr, dos_area_size - page_size );
+        if (ptr != (void *)-1) munmap( ptr, dos_area_size - first_page );
         return;
     }
     /* now add first page with MAP_FIXED */
-    wine_anon_mmap( NULL, page_size, PROT_NONE, MAP_NORESERVE|MAP_FIXED );
+    wine_anon_mmap( NULL, first_page, PROT_NONE, MAP_NORESERVE|MAP_FIXED );
     wine_mmap_add_reserved_area( NULL, dos_area_size );
 }
 




More information about the wine-cvs mailing list