From: Charles-François Natali Date: Sat, 2 Jul 2011 12:39:53 +0000 (+0200) Subject: Merge issue #12352: Fix a deadlock in multiprocessing.Heap when a block is X-Git-Tag: v3.2.1rc2~10 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a4a04069fd93395369b6061ed07f471e53f1c7a1;p=thirdparty%2FPython%2Fcpython.git Merge issue #12352: Fix a deadlock in multiprocessing.Heap when a block is freed by the garbage collector while the Heap lock is held. --- a4a04069fd93395369b6061ed07f471e53f1c7a1 diff --cc Misc/NEWS index 9ce6cb56789a,1e98768a7641..423d7ec3e026 --- a/Misc/NEWS +++ b/Misc/NEWS @@@ -22,73 -42,73 +22,76 @@@ Core and Builtin "maximum recursion depth" RuntimeError exception. (patch by Ronald Oussoren) -- Correct lookup of __dir__ on objects. Among other things, this causes errors - besides AttributeError found on lookup to be propagated. +Library +------- -- Issue #12060: Use sig_atomic_t type and volatile keyword in the signal - module. Patch written by Charles-François Natali. ++- Issue #12352: Fix a deadlock in multiprocessing.Heap when a block is freed by ++ the garbage collector while the Heap lock is held. + -- Issue #1195: Fix input() if it is interrupted by CTRL+d and then CTRL+c, - clear the end-of-file indicator after CTRL+d. +- Issue #12451: The XInclude default loader of xml.etree now decodes files from + UTF-8 instead of the locale encoding if the encoding is not specified. It now + also opens XML files for the parser in binary mode instead of the text mode + to avoid encoding issues. -- Issue #9756: When calling a method descriptor or a slot wrapper descriptor, - the check of the object type doesn't read the __class__ attribute anymore. - Fix a crash if a class override its __class__ attribute (e.g. a proxy of the - str type). Patch written by Andreas Stührk. +- Issue #12451: doctest.debug_script() doesn't create a temporary file + anymore to avoid encoding issues. -- Issue #6780: fix starts/endswith error message to mention that tuples are - accepted too. +- Issue #12451: pydoc.synopsis() now reads the encoding cookie if available, + to read the Python script from the right encoding. -- Issue #5057: fix a bug in the peepholer that led to non-portable pyc files - between narrow and wide builds while optimizing BINARY_SUBSCR on non-BMP - chars (e.g. "\U00012345"[0]). +- Issue #12451: distutils now opens the setup script in binary mode to read the + encoding cookie, instead of opening it in UTF-8. -- Issue #11650: PyOS_StdioReadline() retries fgets() if it was interrupted - (EINTR), for example if the program is stopped with CTRL+z on Mac OS X. Patch - written by Charles-Francois Natali. +- Issue #9516: On Mac OS X, change Distutils to no longer globally attempt to + check or set the MACOSX_DEPLOYMENT_TARGET environment variable for the + interpreter process. This could cause failures in non-Distutils subprocesses + and was unreliable since tests or user programs could modify the interpreter + environment after Distutils set it. Instead, have Distutils set the the + deployment target only in the environment of each build subprocess. It is + still possible to globally override the default by setting + MACOSX_DEPLOYMENT_TARGET before launching the interpreter; its value must be + greater or equal to the default value, the value with which the interpreter + was built. -- Issue #8651: PyArg_Parse*() functions raise an OverflowError if the file - doesn't have PY_SSIZE_T_CLEAN define and the size doesn't fit in an int - (length bigger than 2^31-1 bytes). +- Issue #12404: Remove C89 incompatible code from mmap module. Patch by Akira + Kitada. -- Issue #11450: Don't truncate hg version info in Py_GetBuildInfo() when - there are many tags (e.g. when using mq). Patch by Nadeem Vawda. +- Issue #12383: Fix subprocess module with env={}: don't copy the environment + variables, start with an empty environment. -- Issue #10451: memoryview objects could allow to mutate a readable buffer. - Initial patch by Ross Lagerwall. +- Issue #11584: email.header.decode_header no longer fails if the header + passed to it is a Header object, and Header/make_header no longer fail + if given binary unknown-8bit input. -- Issue #10892: Don't segfault when trying to delete __abstractmethods__ from a - class. +- Issue #11700: mailbox proxy object close methods can now be called multiple + times without error. -- Issue #8020: Avoid a crash where the small objects allocator would read - non-Python managed memory while it is being modified by another thread. - Patch by Matt Bandy. +- Issue #11767: Correct file descriptor leak in mailbox's __getitem__ method. -- Issue #8278: On Windows and with a NTFS filesystem, os.stat() and os.utime() - can now handle dates after 2038. +- Issue #12133: AbstractHTTPHandler.do_open() of urllib.request closes the HTTP + connection if its getresponse() method fails with a socket error. Patch + written by Ezio Melotti. -- issue #11828: startswith and endswith don't accept None as slice index. - Patch by Torsten Becker. +- Issue #9284: Allow inspect.findsource() to find the source of doctest + functions. -- Issue #4236: PyModule_Create2 now checks the import machinery directly - rather than the Py_IsInitialized flag, avoiding a Fatal Python - error in certain circumstances when an import is done in __del__. +- Issue #12009: Fixed regression in netrc file comment handling. -- Issue #10596: Fix float.__mod__ to have the same behaviour as - float.__divmod__ with respect to signed zeros. -4.0 % 4.0 should be - 0.0, not -0.0. +- Issue #10694: zipfile now ignores garbage at the end of a zipfile. -- Issue #5587: add a repr to dict_proxy objects. Patch by David Stanek and - Daniel Urban. +- Issue #12283: Fixed regression in smtplib quoting of leading dots in DATA. -- Issue #11506: Trying to assign to a bytes literal should result in a - SyntaxError. +- Issue #12168: SysLogHandler now allows NUL termination to be controlled using + a new 'append_nul' attribute on the handler. -Library -------- +- Issue #11583: Speed up os.path.isdir on Windows by using GetFileAttributes + instead of os.stat. -- Issue #12352: Fix a deadlock in multiprocessing.Heap when a block is freed by - the garbage collector while the Heap lock is held. +- Named tuples now work correctly with vars(). + +- Issue #12085: Fix an attribute error in subprocess.Popen destructor if the + constructor has failed, e.g. because of an undeclared keyword argument. Patch + written by Oleg Oshmyan. - Issue #985064: Make plistlib more resilient to faulty input plists. Patch by Mher Movsisyan.