Browse Source

bpo-40521: Disable list free list in subinterpreters (GH-19959)

When Python is built with experimental isolated interpreters, disable
the list free list.

Temporary workaround until this cache is made per-interpreter.
pull/19964/head
Victor Stinner 6 years ago
committed by GitHub
parent
commit
b7aa23d29f
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 9
      Objects/listobject.c

9
Objects/listobject.c

@ -98,8 +98,15 @@ list_preallocate_exact(PyListObject *self, Py_ssize_t size)
/* Empty list reuse scheme to save calls to malloc and free */
#ifndef PyList_MAXFREELIST
#define PyList_MAXFREELIST 80
# define PyList_MAXFREELIST 80
#endif
/* bpo-40521: list free lists are shared by all interpreters. */
#ifdef EXPERIMENTAL_ISOLATED_SUBINTERPRETERS
# undef PyList_MAXFREELIST
# define PyList_MAXFREELIST 0
#endif
static PyListObject *free_list[PyList_MAXFREELIST];
static int numfree = 0;

Loading…
Cancel
Save