Skip to content

Commit

Permalink
bpo-40521: Disable list free list in subinterpreters (GH-19959)
Browse files Browse the repository at this point in the history
When Python is built with experimental isolated interpreters, disable
the list free list.

Temporary workaround until this cache is made per-interpreter.
  • Loading branch information
vstinner authored May 6, 2020
1 parent d8135e9 commit b7aa23d
Showing 1 changed file with 8 additions and 1 deletion.
9 changes: 8 additions & 1 deletion Objects/listobject.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down

0 comments on commit b7aa23d

Please sign in to comment.