cpython/Modules
Pablo Galindo 466326dcdf
bpo-38379: Don't block collection of unreachable objects when some objects resurrect (GH-16687)
Currently if any finalizer invoked during garbage collection resurrects any object, the gc gives up and aborts the collection. Although finalizers are assured to only run once per object, this behaviour of the gc can lead to an ever-increasing memory situation if new resurrecting objects are allocated in every new gc collection.

To avoid this, recompute what objects among the unreachable set need to be resurrected and what objects can be safely collected. In this way, resurrecting objects will not block the collection of other objects in the unreachable set.
2019-10-13 16:48:59 +01:00
..
_blake2 bpo-9216: Add usedforsecurity to hashlib constructors (GH-16044) 2019-09-12 19:30:00 -05:00
_ctypes bpo-38368: Added fix for ctypes crash when handling arrays in structs… (GH-16589) 2019-10-08 21:59:06 +01:00
_decimal Revert mode change that loses information in directory listings on Linux. (#15366) 2019-08-21 23:00:04 +02:00
_io bpo-37206: Unrepresentable default values no longer represented as None. (GH-13933) 2019-09-14 12:24:05 +03:00
_multiprocessing Remove some unused defines in multiprocessing.h. (GH-15661) 2019-09-07 10:44:36 +03:00
_sha3 bpo-9216: Add usedforsecurity to hashlib constructors (GH-16044) 2019-09-12 19:30:00 -05:00
_sqlite bpo-38185: Fixed case-insensitive string comparison in sqlite3.Row indexing. (GH-16190) 2019-09-17 09:20:56 +03:00
_ssl bpo-34271: Fix compatibility with 1.0.2 (GH-13728) 2019-06-03 20:40:15 +02:00
_xxtestfuzz Fix typos in docs, comments and test assert messages (#14872) 2019-07-21 16:12:33 -04:00
cjkcodecs bpo-37206: Unrepresentable default values no longer represented as None. (GH-13933) 2019-09-14 12:24:05 +03:00
clinic bpo-38378: Rename parameters "out" and "in" of os.sendfile(). (GH-16742) 2019-10-13 11:59:31 +03:00
expat bpo-37731: Reorder includes in xmltok.c to avoid redefinition of _POSIX_C_SOURCE (GH-16733) 2019-10-12 20:14:11 +01:00
_abc.c bpo-37547: add _PyObject_CallMethodOneArg (GH-14685) 2019-07-11 17:59:05 +09:00
_asynciomodule.c bpo-36356: Fix memory leak in _asynciomodule.c (GH-16598) 2019-10-07 12:19:58 -04:00
_bisectmodule.c bpo-33012: Fix invalid function cast warnings with gcc 8. (GH-6749) 2018-11-27 13:27:31 +02:00
_bz2module.c bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async (GH-13464) 2019-05-30 19:13:39 -07:00
_codecsmodule.c bpo-37206: Unrepresentable default values no longer represented as None. (GH-13933) 2019-09-14 12:24:05 +03:00
_collectionsmodule.c bpo-37337: Add _PyObject_CallMethodNoArgs() (GH-14267) 2019-07-08 17:19:25 +09:00
_contextvarsmodule.c bpo-34762: Fix contextvars C API to use PyObject* pointer types. (GH-9473) 2018-09-21 15:33:56 -04:00
_cryptmodule.c closes bpo-38402: Check error of primitive crypt/crypt_r. (GH-16599) 2019-10-07 21:22:17 -07:00
_csv.c bpo-37994: Fix silencing all errors if an attribute lookup fails. (GH-15630) 2019-09-01 12:03:39 +03:00
_curses_panel.c bpo-35810: Incref heap-allocated types in PyObject_Init (GH-11661) 2019-03-27 12:52:18 +01:00
_cursesmodule.c bpo-37206: Unrepresentable default values no longer represented as None. (GH-13933) 2019-09-14 12:24:05 +03:00
_datetimemodule.c bpo-37994: Fix silencing all errors if an attribute lookup fails. (GH-15630) 2019-09-01 12:03:39 +03:00
_dbmmodule.c bpo-37337: Add _PyObject_CallMethodNoArgs() (GH-14267) 2019-07-08 17:19:25 +09:00
_elementtree.c bpo-38392: PyObject_GC_Track() validates object in debug mode (GH-16615) 2019-10-08 00:09:31 +02:00
_functoolsmodule.c bpo-37358: Use vectorcall for functools.partial (GH-14284) 2019-07-13 07:39:18 -07:00
_gdbmmodule.c bpo-37337: Add _PyObject_CallMethodNoArgs() (GH-14267) 2019-07-08 17:19:25 +09:00
_hashopenssl.c bpo-38270: More fixes for strict crypto policy (GH-16418) 2019-09-27 06:03:53 -07:00
_heapqmodule.c bpo-34797: Convert heapq to the argument clinic (GH-9560) 2018-09-28 12:39:43 -07:00
_json.c bpo-37587: optimize json.loads (GH-15134) 2019-08-08 17:57:10 +09:00
_localemodule.c bpo-36254: Fix invalid uses of %d in format strings in C. (GH-12264) 2019-03-13 22:59:55 +02:00
_lsprof.c bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async (GH-13464) 2019-05-30 19:13:39 -07:00
_lzmamodule.c bpo-21872: fix lzma library decompresses data incompletely (GH-14048) 2019-09-12 15:20:37 +01:00
_math.c Issue #28256: Cleanup _math.c 2016-10-18 16:29:27 +02:00
_math.h Issue #28256: Cleanup _math.c 2016-10-18 16:29:27 +02:00
_opcode.c bpo-32455: Add jump parameter to dis.stack_effect(). (GH-6610) 2018-09-18 09:54:26 +03:00
_operator.c bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async (GH-13464) 2019-05-30 19:13:39 -07:00
_pickle.c bpo-37206: Unrepresentable default values no longer represented as None. (GH-13933) 2019-09-14 12:24:05 +03:00
_posixsubprocess.c bpo-38417: Add umask support to subprocess (GH-16726) 2019-10-12 13:24:56 -07:00
_queuemodule.c bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async (GH-13464) 2019-05-30 19:13:39 -07:00
_randommodule.c bpo-38321: Fix compiler warning in _randommodule.c (GH-16512) 2019-10-01 12:45:52 +02:00
_scproxy.c closes bpo-31903: Release the GIL when calling into SystemConfiguration (GH-4178) 2018-09-11 16:14:00 -07:00
_sre.c bpo-37483: add _PyObject_CallOneArg() function (#14558) 2019-07-04 19:31:34 +09:00
_ssl.c bpo-37206: Unrepresentable default values no longer represented as None. (GH-13933) 2019-09-14 12:24:05 +03:00
_ssl_data.h Issue #23248: Update ssl error codes from latest OpenSSL git master. 2015-01-18 17:39:32 +01:00
_stat.c bpo-37834: Normalise handling of reparse points on Windows (GH-15231) 2019-08-21 15:27:33 -07:00
_statisticsmodule.c bpo-37798: Prevent undefined behavior in direct calls to the C helper function. (#16149) 2019-09-15 09:36:38 -07:00
_struct.c bpo-38140: Make dict and weakref offsets opaque for C heap types (#16076) 2019-09-19 17:29:05 +01:00
_testbuffer.c bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async (GH-13464) 2019-05-30 19:13:39 -07:00
_testcapimodule.c bpo-36389: _PyObject_CheckConsistency() available in release mode (GH-16612) 2019-10-07 18:42:01 +02:00
_testimportmultiple.c Remove compile warnings for _testimportmodule 2012-12-15 18:16:47 +02:00
_testinternalcapi.c bpo-36763: Implement the PEP 587 (GH-13592) 2019-05-27 16:39:22 +02:00
_testmultiphase.c bpo-32388: Remove cross-version binary compatibility requirement in tp_flags (GH-4944) 2019-05-29 22:12:38 +02:00
_threadmodule.c bpo-37878: Remove PyThreadState_DeleteCurrent() function (GH-15315) 2019-09-05 18:06:49 +02:00
_tkinter.c bpo-38371: Tkinter: deprecate the split() method. (GH-16584) 2019-10-08 14:31:35 +03:00
_tracemalloc.c bpo-37878: Remove PyThreadState_DeleteCurrent() function (GH-15315) 2019-09-05 18:06:49 +02:00
_uuidmodule.c bpo-32627: Fix compile error when conflicting _uuid headers included (GH-11751) 2019-06-24 13:59:50 -04:00
_weakref.c bpo-32150: Expand tabs to spaces in C files. (#4583) 2017-11-28 17:56:10 +02:00
_winapi.c bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async (GH-13464) 2019-05-30 19:13:39 -07:00
_xxsubinterpretersmodule.c bpo-38005: Fixed comparing and creating of InterpreterID and ChannelID. (GH-15652) 2019-09-13 22:50:27 +03:00
addrinfo.h replace PY_LONG_LONG with long long 2016-09-06 10:46:49 -07:00
arraymodule.c Remove redundant check from arraymodule b_getitem (GH-14676) 2019-07-11 14:57:42 -07:00
atexitmodule.c bpo-33012: Fix invalid function cast warnings with gcc 8. (GH-6749) 2018-11-27 13:27:31 +02:00
audioop.c bpo-33781: audioop: enhance rounding double as int (GH-7447) 2018-06-06 15:50:50 +02:00
binascii.c bpo-34749: Improved performance of binascii.a2b_base64(). (GH-9444) 2019-07-14 05:15:32 -07:00
cmathmodule.c bpo-37206: Unrepresentable default values no longer represented as None. (GH-13933) 2019-09-14 12:24:05 +03:00
config.c.in rename _imp initialization function to follow conventions (#5432) 2018-01-29 11:33:57 -08:00
errnomodule.c Fix #13210. Port the Windows build from VS2008 to VS2010. 2012-05-13 11:19:23 -05:00
faulthandler.c bpo-38203: faulthandler.dump_traceback_later() is always available (GH-16249) 2019-09-18 14:15:10 +02:00
fcntlmodule.c closes bpo-37964: add F_GETPATH command to fcntl (GH-15550) 2019-08-28 18:56:17 -07:00
gc_weakref.txt Issue #13575: there is only one class type. 2011-12-12 18:54:29 +01:00
gcmodule.c bpo-38379: Don't block collection of unreachable objects when some objects resurrect (GH-16687) 2019-10-13 16:48:59 +01:00
getaddrinfo.c bpo-32241: Add the const qualifire to declarations of umodifiable strings. (#4748) 2017-12-12 13:55:04 +02:00
getbuildinfo.c bpo-27593: Get SCM build info from git instead of hg. (#446) 2017-03-04 00:19:55 -05:00
getnameinfo.c Issue #15538: Fix compilation of the getnameinfo() / getaddrinfo() emulation code. 2012-08-02 20:37:12 +02:00
getpath.c bpo-38353: Fix typos in calculate_argv0_path_framework() (GH-16695) 2019-10-10 15:42:30 +02:00
grpmodule.c bpo-38072: PEP-384 grpmodule (GH-15788) 2019-09-10 03:30:36 -07:00
hashlib.h bpo-31370: Remove support for threads-less builds (#3385) 2017-09-07 18:56:24 +02:00
hashtable.c bpo-36594: Fix incorrect use of %p in format strings (GH-12769) 2019-05-06 12:56:50 -04:00
hashtable.h Issue #28126: Replace Py_MEMCPY with memcpy(). Visual Studio can properly optimize memcpy(). 2016-09-13 20:22:02 +02:00
itertoolsmodule.c bpo-34410: Fix a crash in the tee iterator when re-enter it. (GH-15625) 2019-09-09 11:47:14 +03:00
ld_so_aix.in Issue #10656: Fix out-of-tree building on AIX 2016-11-20 07:56:37 +00:00
main.c bpo-38353: Cleanup includes in the internal C API (GH-16548) 2019-10-02 23:51:20 +02:00
makesetup closes bpo-34212: Build core extension modules with Py_BUILD_CORE_BUILTIN. (GH-8712) 2018-11-26 20:21:31 -06:00
makexp_aix
mathmodule.c bpo-37691: Let math.dist() accept sequences and iterables for coordinates (GH-14975) 2019-07-27 14:04:29 -07:00
md5module.c bpo-9216: Add usedforsecurity to hashlib constructors (GH-16044) 2019-09-12 19:30:00 -05:00
mmapmodule.c Fix a possbile refleak in setint() of mmapmodule.c (GH-16136) 2019-09-16 13:56:57 +08:00
nismodule.c bpo-35356: Fix a possible reference leak in nis.maps(). (GH-10808) 2018-11-30 09:40:16 +02:00
ossaudiodev.c Remove a dead comment from ossaudiodev.c (#15346) 2019-08-20 12:20:47 -07:00
overlapped.c bpo-37445: Include FORMAT_MESSAGE_IGNORE_INSERTS in FormatMessageW() calls (GH-14462) 2019-09-09 02:20:38 -07:00
parsermodule.c bpo-15999: Clean up of handling boolean arguments. (GH-15610) 2019-09-01 12:16:51 +03:00
posixmodule.c bpo-38378: Rename parameters "out" and "in" of os.sendfile(). (GH-16742) 2019-10-13 11:59:31 +03:00
posixmodule.h bpo-33441: Make the sigset_t converter available in other modules. (GH-6720) 2018-05-08 07:48:50 +03:00
pwdmodule.c bpo-38073: Make pwd module PEP-384 compatible (GH-15790) 2019-09-10 05:59:43 -07:00
pyexpat.c bpo-38392: PyObject_GC_Track() validates object in debug mode (GH-16615) 2019-10-08 00:09:31 +02:00
readline.c bpo-37194: Add a new public PyObject_CallNoArgs() function (GH-13890) 2019-06-17 14:27:23 +02:00
README Issue #18093: Factor out the programs that embed the runtime 2014-07-25 21:52:14 +10:00
resource.c bpo-34674: Assume unistd.h exists on Unix. (GH-9290) 2018-09-13 21:57:31 -07:00
rotatingtree.c
rotatingtree.h bpo-32150: Expand tabs to spaces in C files. (#4583) 2017-11-28 17:56:10 +02:00
selectmodule.c Fix a compile warning in selectmodule.c. (GH-16617) 2019-10-07 20:01:54 +08:00
Setup bpo-37798: Add C fastpath for statistics.NormalDist.inv_cdf() (GH-15266) 2019-08-23 15:20:30 -07:00
sha1module.c bpo-9216: Add usedforsecurity to hashlib constructors (GH-16044) 2019-09-12 19:30:00 -05:00
sha256module.c bpo-9216: Add usedforsecurity to hashlib constructors (GH-16044) 2019-09-12 19:30:00 -05:00
sha512module.c bpo-9216: Add usedforsecurity to hashlib constructors (GH-16044) 2019-09-12 19:30:00 -05:00
signalmodule.c bpo-38037: Fix reference counters in signal module (GH-15753) 2019-09-09 15:46:26 +02:00
socketmodule.c bpo-38282: Rewrite getsockaddrarg() helper function (GH-16698) 2019-10-10 21:30:20 +02:00
socketmodule.h bpo-38282: Correctly manage the Bluetooth L2CAP socket structure in FreeBSD (GH-16738) 2019-10-13 02:03:54 +01:00
spwdmodule.c [security] bpo-13617: Reject embedded null characters in wchar* strings. (#2302) 2017-06-28 08:30:06 +03:00
sre.h bpo-25054, bpo-1647489: Added support of splitting on zerowidth patterns. (#4471) 2017-12-04 14:29:05 +02:00
sre_constants.h bpo-31690: Allow the inline flags "a", "L", and "u" to be used as group flags for RE. (#3885) 2017-10-24 23:31:42 +03:00
sre_lib.h bpo-34294: re module, fix wrong capturing groups in rare cases. (GH-11546) 2019-02-18 15:26:37 +02:00
symtablemodule.c bpo-37253: Add _PyCompilerFlags_INIT macro (GH-14018) 2019-06-13 02:16:41 +02:00
syslogmodule.c bpo-33012: Fix invalid function cast warnings with gcc 8. (GH-6749) 2018-11-27 13:27:31 +02:00
termios.c bpo-38071: Make termios PEP-384 compatible (GH-15785) 2019-09-10 03:33:30 -07:00
testcapi_long.h Issue #9530: Fix undefined behaviour due to signed overflow in testcapi_long.h. 2011-11-19 17:58:15 +00:00
timemodule.c bpo-36205: Fix the rusage implementation of time.process_time() (GH-15538) 2019-08-27 00:13:12 -04:00
tkappinit.c Issue #4350: Removed a number of out-of-dated and non-working for a long time 2014-07-23 22:33:50 +03:00
tkinter.h Issue #16840. Turn off bignum support in tkinter with with Tcl earlier than 8.5.8 2015-04-22 10:59:32 +03:00
unicodedata.c bpo-37752: Delete redundant Py_CHARMASK in normalizestring() (GH-15095) 2019-09-10 17:04:08 +01:00
unicodedata_db.h closes bpo-36861: Update Unicode database to 12.1.0. (GH-13214) 2019-05-08 20:59:35 -07:00
unicodename_db.h closes bpo-36861: Update Unicode database to 12.1.0. (GH-13214) 2019-05-08 20:59:35 -07:00
winreparse.h bpo-31512: Add non-elevated symlink support for Windows (GH-3652) 2019-04-09 11:19:46 -07:00
xxlimited.c bpo-32388: Remove cross-version binary compatibility requirement in tp_flags (GH-4944) 2019-05-29 22:12:38 +02:00
xxmodule.c bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async (GH-13464) 2019-05-30 19:13:39 -07:00
xxsubtype.c bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async (GH-13464) 2019-05-30 19:13:39 -07:00
zlibmodule.c bpo-38074: Make zlib extension module PEP-384 compatible (GH-15792) 2019-09-10 03:27:03 -07:00

Source files for standard library extension modules,
and former extension modules that are now builtin modules.