[pypy-svn] r77797 - in pypy/trunk/pypy: rlib rpython/lltypesystem

arigo at codespeak.net arigo at codespeak.net
Mon Oct 11 17:40:43 CEST 2010


Author: arigo
Date: Mon Oct 11 17:40:41 2010
New Revision: 77797

Modified:
   pypy/trunk/pypy/rlib/rmmap.py
   pypy/trunk/pypy/rpython/lltypesystem/ll2ctypes.py
Log:
Need to specify MAP_NORESERVE here, otherwise the mmap
will fail if the system doesn't have enough RAM+SWAP
(about 20GB).


Modified: pypy/trunk/pypy/rlib/rmmap.py
==============================================================================
--- pypy/trunk/pypy/rlib/rmmap.py	(original)
+++ pypy/trunk/pypy/rlib/rmmap.py	Mon Oct 11 17:40:41 2010
@@ -50,7 +50,7 @@
     constant_names = ['MAP_SHARED', 'MAP_PRIVATE',
                       'PROT_READ', 'PROT_WRITE',
                       'MS_SYNC']
-    opt_constant_names = ['MAP_ANON', 'MAP_ANONYMOUS',
+    opt_constant_names = ['MAP_ANON', 'MAP_ANONYMOUS', 'MAP_NORESERVE',
                           'PROT_EXEC',
                           'MAP_DENYWRITE', 'MAP_EXECUTABLE']
     for name in constant_names:

Modified: pypy/trunk/pypy/rpython/lltypesystem/ll2ctypes.py
==============================================================================
--- pypy/trunk/pypy/rpython/lltypesystem/ll2ctypes.py	(original)
+++ pypy/trunk/pypy/rpython/lltypesystem/ll2ctypes.py	Mon Oct 11 17:40:41 2010
@@ -69,7 +69,7 @@
                 PIECESIZE = 0x08000000
         PIECES = 10
         m = rmmap.mmap(-1, PIECES * PIECESIZE,
-                       rmmap.MAP_PRIVATE|rmmap.MAP_ANONYMOUS,
+                       rmmap.MAP_PRIVATE|rmmap.MAP_ANONYMOUS|rmmap.MAP_NORESERVE,
                        rmmap.PROT_READ|rmmap.PROT_WRITE)
         m.close = lambda : None    # leak instead of giving a spurious
                                    # error at CPython's shutdown



More information about the Pypy-commit mailing list