cpython/Lib
Miss Islington (bot) 2ab41c8fbc
[3.12] gh-110167: Fix test_socket deadlock in doCleanups() (GH-110416) (#110423)
gh-110167: Fix test_socket deadlock in doCleanups() (GH-110416)

Fix a deadlock in test_socket when server fails with a timeout but
the client is still running in its thread. Don't hold a lock to call
cleanup functions in doCleanups(). One of the cleanup function waits
until the client completes, whereas the client could deadlock if it
called addCleanup() in such situation.

doCleanups() is called when the server completed, but the client can
still be running in its thread especially if the server failed with a
timeout. Don't put a lock on doCleanups() to prevent deadlock between
addCleanup() called in the client and doCleanups() waiting for
self.done.wait of ThreadableTest._setUp().
(cherry picked from commit 318f5df271)

Co-authored-by: Victor Stinner <vstinner@python.org>
2023-10-05 19:24:26 +00:00
..
__phello__
asyncio [3.12] gh-109955 : Update state transition comments for asyncio.Task (GH-109910) (#109992) 2023-10-02 17:41:12 +02:00
collections [3.12] gh-105736: Sync pure python version of OrderedDict with the C version (GH-108098) (#108200) 2023-08-21 14:31:11 +02:00
concurrent [3.12] gh-109047: concurrent.futures catches RuntimeError (#109810) (#110126) 2023-10-02 17:47:10 +02:00
ctypes Fix typo in _swappedbytes_ in ctypes comment (#102773) 2023-03-25 16:38:24 -07:00
curses gh-60436: fix curses textbox backspace/del (#103783) 2023-04-26 22:54:07 +02:00
dbm
email [3.12] gh-106186: Don't report MultipartInvariantViolationDefect for valid multipart emails when parsing header only (GH-107016) (#107111) 2023-07-23 14:28:28 +02:00
encodings gh-98433: Fix quadratic time idna decoding. (#99092) 2022-11-07 16:54:41 -08:00
ensurepip [3.12] gh-106774: Update bundled pip version to 23.2.1 (GH-106775) (gh-107222) 2023-07-25 11:32:45 +01:00
html gh-100210: Correct the comment link for unescaping HTML (#100212) 2023-02-19 11:18:12 +01:00
http [3.12] gh-105626: Change the default return value of HTTPConnection.get_proxy_response_headers (GH-105628) (#106738) 2023-07-14 07:21:02 +00:00
idlelib [3.12] IDLE: Condense run.main threading.Thread start. (GH-106125) (#106154) 2023-06-27 17:35:48 +00:00
importlib [3.12] GH-106176, GH-104702: Fix reference leak when importing across multiple threads (GH-108497) (#108612) 2023-08-29 12:40:05 +02:00
json [3.12] Revert "GH-96145: Add AttrDict to JSON module for use with object_hook (GH-96146)" (GH-105948) (#106117) 2023-06-26 21:11:49 +02:00
lib2to3
logging [3.12] gh-107028: tiny textual changes in logging docs and docstrings (GH-107029) (GH-107065) 2023-07-22 22:11:29 +01:00
msilib
multiprocessing [3.12] gh-109047: concurrent.futures catches RuntimeError (#109810) (#110126) 2023-10-02 17:47:10 +02:00
pydoc_data Python 3.12.0 2023-10-02 13:48:14 +02:00
re [3.12] gh-100061: Proper fix of the bug in the matching of possessive quantifiers (GH-102612) (#108003) 2023-08-16 12:00:55 +02:00
site-packages
sqlite3 [3.12] gh-109151: Enable readline in the sqlite3 CLI (GH-109152) (#110352) 2023-10-04 15:48:31 +02:00
test [3.12] gh-110167: Fix test_socket deadlock in doCleanups() (GH-110416) (#110423) 2023-10-05 19:24:26 +00:00
tkinter [3.12] gh-100814: Fix exception for invalid callable value of Tkinter image option (GH-107692) (#107722) 2023-08-16 14:30:31 +02:00
tomllib
turtledemo Rewrite the turtledemo makeGraphFrame method (#104224) 2023-05-06 11:09:08 -04:00
unittest [3.12] gh-106584: Fix exit code for unittest in Python 3.12 (GH-106588) (#109725) 2023-10-02 17:18:41 +02:00
urllib [3.12] GH-104554: Add RTSPS support to urllib/parse.py (GH-104605) (#105759) 2023-07-05 13:02:22 +02:00
venv gh-95299: Stop installing setuptools as a part of ensurepip and venv (#101039) 2023-04-17 23:43:34 -05:00
wsgiref bpo-45975: Simplify some while-loops with walrus operator (GH-29347) 2022-11-26 14:33:25 -08:00
xml gh-83122: Deprecate testing element truth values in ElementTree (#31149) 2023-01-22 17:16:48 -08:00
xmlrpc bpo-45975: Simplify some while-loops with walrus operator (GH-29347) 2022-11-26 14:33:25 -08:00
zipfile [3.12] gh-106752: Sync with zipp 3.16.2 (GH-106757) (#106777) 2023-07-15 10:15:24 -04:00
zoneinfo Fix typos in documentation and comments (GH-102374) 2023-03-02 07:26:49 -08:00
__future__.py
__hello__.py
_aix_support.py gh-96305: Fix AIX build by avoiding subprocess during bootstrap (#96429) 2023-02-02 12:30:49 -08:00
_collections_abc.py gh-91896: Deprecate collections.abc.ByteString (#102096) 2023-05-04 09:39:33 -07:00
_compat_pickle.py
_compression.py
_markupbase.py
_osx_support.py
_py_abc.py
_pydatetime.py [3.12] Fix date.__repr__() docstring (GH-109422) (#109448) 2023-10-02 16:58:43 +02:00
_pydecimal.py gh-86682: Adds sys._getframemodulename as an alternative to using _getframe (GH-99520) 2023-01-13 11:31:06 +00:00
_pyio.py bpo-45975: Simplify some while-loops with walrus operator (GH-29347) 2022-11-26 14:33:25 -08:00
_pylong.py gh-102515: Remove unused imports in the Lib/ directory (#102516) 2023-03-08 11:45:38 +00:00
_sitebuiltins.py
_strptime.py GH-90750: Use datetime.fromisocalendar in _strptime (#103802) 2023-04-27 10:27:27 -06:00
_threading_local.py
_weakrefset.py
abc.py gh-87864: Use correct function definition syntax in the docs (#103312) 2023-04-11 16:50:25 +03:00
aifc.py
antigravity.py
argparse.py gh-92248: Deprecate type, choices, metavar parameters of argparse.BooleanOptionalAction (#103678) 2023-05-19 16:44:43 +00:00
ast.py [3.12] gh-110259: Fix f-strings with multiline expressions and format specs (GH-110271) (#110396) 2023-10-05 14:07:25 +00:00
base64.py GH-102456: Fix docstring and getopt options for base64 (gh-102457) 2023-04-02 14:05:50 +09:00
bdb.py gh-101517: fix line number propagation in code generated for except* (#103550) 2023-04-24 21:58:51 +01:00
bisect.py GH-102833: Mention the key function in the docstrings (GH-103009) 2023-03-25 02:19:20 -05:00
bz2.py
calendar.py [3.12] GH-108202: Document `calendar`'s command-line interface (GH-109020) (#109030) 2023-09-08 15:11:16 +02:00
cgi.py
cgitb.py
chunk.py
cmd.py
code.py gh-102778: Add sys.last_exc, deprecate sys.last_type, sys.last_value,sys.last_traceback (#102779) 2023-03-18 11:47:11 +00:00
codecs.py [3.12] gh-50644: Forbid pickling of codecs streams (GH-109180) (#109231) 2023-10-02 16:55:52 +02:00
codeop.py
colorsys.py [3.12] gh-106498: Revert incorrect colorsys.rgb_to_hls change (GH-106627) (#106632) 2023-07-11 15:47:15 +00:00
compileall.py GH-84559: Deprecate fork being the multiprocessing default. (#100618) 2023-02-02 15:50:35 -08:00
configparser.py [3.12] Fix typo in configparser module docstring (GH-105652) (#105653) 2023-06-11 14:31:04 +00:00
contextlib.py gh-103791: Make contextlib.suppress also act on exceptions within an ExceptionGroup (#103792) 2023-04-24 22:17:02 +00:00
contextvars.py
copy.py gh-100815: Normalize types module usage in copy module (#100816) 2023-01-07 21:29:53 +00:00
copyreg.py gh-99325: Remove unused NameError handling (#99326) 2022-11-11 09:56:57 +00:00
cProfile.py gh-103935: Use io.open_code() when executing code in trace and profile modules (GH-103947) 2023-04-27 20:29:35 +00:00
crypt.py
csv.py gh-67230: add quoting rules to csv module (GH-29469) 2023-04-12 15:32:30 -07:00
dataclasses.py gh-103000: Optimise dataclasses.asdict for the common case (#104364) 2023-05-10 22:43:51 +01:00
datetime.py [3.12] gh-84976: Add back UTC to datetime.__all__ (GH-104920) (#106019) 2023-06-26 20:41:52 -07:00
decimal.py
difflib.py
dis.py GH-103963: Make dis display names of args for intrinsics opcodes (#104029) 2023-05-02 19:00:17 -07:00
doctest.py [3.12] gh-107715: Escape class name in regular expression (GH-107716) (#107726) 2023-08-16 14:29:42 +02:00
enum.py [3.12] gh-109022: [Enum] require names=() to create empty enum type (GH-109048) (#109122) 2023-09-12 15:53:16 +02:00
filecmp.py
fileinput.py gh-101961 fileinput.hookcompressed should not set the encoding value for the binary mode (gh-102068) 2023-02-21 12:10:29 +09:00
fnmatch.py
fractions.py gh-101825: Clarify that as_integer_ratio() output is always normalized (#101843) 2023-02-27 19:11:28 +00:00
ftplib.py bpo-45975: Simplify some while-loops with walrus operator (GH-29347) 2022-11-26 14:33:25 -08:00
functools.py [3.12] gh-106292: restore checking __dict__ in cached_property.__get__ (GH-106380) (#106469) 2023-07-05 23:31:54 +00:00
genericpath.py gh-101196: Make isdir/isfile/exists faster on Windows (GH-101324) 2023-02-08 14:34:24 +00:00
getopt.py
getpass.py
gettext.py [3.12] gh-62519: Make pgettext search plurals when translation is not found (GH-107118) (GH-107134) 2023-07-25 21:48:59 +03:00
glob.py
graphlib.py
gzip.py [3.12] gh-108111: Flush gzip write buffer before seeking, fixing bad writes (GH-108341) (#108402) 2023-08-24 12:30:16 +02:00
hashlib.py gh-99108: Refactor _sha256 & _sha512 into _sha2. (#101924) 2023-02-15 22:08:20 -08:00
heapq.py
hmac.py
imaplib.py gh-94172: Remove keyfile, certfile and check_hostname parameters (#94173) 2022-11-03 18:32:25 +01:00
imghdr.py
inspect.py [3.12] gh-105080: Fixed inconsistent signature on derived classes (GH-105217) (#105257) 2023-06-02 17:05:49 -06:00
io.py
ipaddress.py ipaddress: Remove non-existent ip_str param from docstring (#103461) 2023-04-14 00:44:10 -07:00
keyword.py gh-103763: Implement PEP 695 (#103764) 2023-05-15 20:36:23 -07:00
linecache.py
locale.py gh-74940: Allow fallback to UTF-8 encoding on systems with no locales installed (GH-14925) 2023-04-26 15:33:09 +09:00
lzma.py
mailbox.py bpo-45975: Simplify some while-loops with walrus operator (GH-29347) 2022-11-26 14:33:25 -08:00
mailcap.py bpo-45975: Simplify some while-loops with walrus operator (GH-29347) 2022-11-26 14:33:25 -08:00
mimetypes.py bpo-45975: Simplify some while-loops with walrus operator (GH-29347) 2022-11-26 14:33:25 -08:00
modulefinder.py
netrc.py
nntplib.py
ntpath.py [3.12] gh-106242: Make ntpath.realpath errors consistent with abspath when there are embedded nulls (GH-108248) (#108251) 2023-08-22 12:01:24 +02:00
nturl2path.py
numbers.py
opcode.py gh-103865: add monitoring support to LOAD_SUPER_ATTR (#103866) 2023-05-16 10:29:00 -06:00
operator.py
optparse.py
os.py gh-89727: Improve os.walk complexity (#100671) 2023-01-02 13:41:19 -08:00
pathlib.py [3.12] gh-105002: [pathlib] Fix relative_to with walk_up=True using ".." (GH-107014) (#107315) 2023-07-26 20:17:31 +00:00
pdb.py [3.12] gh-109375: Fix bug where pdb registers an alias without an associated command (GH-109376) (#109429) 2023-10-02 16:58:22 +02:00
pickle.py gh-102799: use exception instance instead of sys.exc_info() (#102885) 2023-03-31 11:23:02 +01:00
pickletools.py
pipes.py
pkgutil.py gh-97850: Deprecate find_loader and get_loader in pkgutil (GH-98520) 2023-05-03 16:11:54 -07:00
platform.py gh-103977: compile re expressions in platform.py only if required (#103981) 2023-04-30 08:36:19 -07:00
plistlib.py gh-101992: update pstlib module documentation (#102133) 2023-03-04 13:35:25 -08:00
poplib.py gh-94172: Remove keyfile, certfile and check_hostname parameters (#94173) 2022-11-03 18:32:25 +01:00
posixpath.py gh-101196: Make isdir/isfile/exists faster on Windows (GH-101324) 2023-02-08 14:34:24 +00:00
pprint.py
profile.py gh-103935: Use io.open_code() when executing code in trace and profile modules (GH-103947) 2023-04-27 20:29:35 +00:00
pstats.py bpo-45975: Simplify some while-loops with walrus operator (GH-29347) 2022-11-26 14:33:25 -08:00
pty.py gh-96522: Fix deadlock in pty.spawn (#96639) 2023-05-19 13:22:43 +00:00
py_compile.py
pyclbr.py
pydoc.py [3.12] gh-102541: Fix Helper.help("mod") for non-existent mod (GH-105934) (#106322) 2023-07-01 23:16:14 +00:00
queue.py
quopri.py bpo-45975: Simplify some while-loops with walrus operator (GH-29347) 2022-11-26 14:33:25 -08:00
random.py [3.12] gh-109653: Reduce the import time of random by 60% (GH-110221) (#110247) 2023-10-02 23:31:55 +00:00
reprlib.py [3.12] gh-109818: reprlib.recursive_repr copies __type_params__ (… (#109999) 2023-10-02 17:41:26 +02:00
rlcompleter.py
runpy.py gh-98040: Remove just the imp module (#98573) 2023-04-28 16:17:58 -07:00
sched.py
secrets.py gh-99305: Speed up secrets.token_hex() ~2x (#99306) 2022-11-11 14:45:24 -08:00
selectors.py [3.12] gh-110038: KqueueSelector must count all read/write events (GH-110039) (#110043) 2023-10-02 17:42:55 +02:00
shelve.py
shlex.py bpo-45975: Simplify some while-loops with walrus operator (GH-29347) 2022-11-26 14:33:25 -08:00
shutil.py [3.12] gh-109615: Fix support test_copy_python_src_ignore() (#109958) (#110340) 2023-10-04 10:27:12 +00:00
signal.py
site.py gh-102038: Skip a sometimes unnecessary stat in site.py (#102039) 2023-04-02 15:47:31 -07:00
smtplib.py bpo-45975: Simplify some while-loops with walrus operator (GH-29347) 2022-11-26 14:33:25 -08:00
sndhdr.py
socket.py Fix broken link to MSDN (#102355) 2023-03-13 15:15:52 +02:00
socketserver.py gh-103673: Add missing ForkingUnixStreamServer and ForkingUnixDatagramServer socketservers (#103674) 2023-04-24 22:35:52 +00:00
sre_compile.py
sre_constants.py
sre_parse.py
ssl.py [3.12] gh-108342: Break ref cycle in SSLSocket._create() exc (GH-108344) (#108348) 2023-08-23 12:09:55 +02:00
stat.py
statistics.py GH-102670: Use sumprod() to simplify, speed up, and improve accuracy of statistics functions (GH-102649) 2023-03-13 20:06:43 -05:00
string.py
stringprep.py
struct.py
subprocess.py [3.12] gh-106723: forward -Xfrozen_modules option to spawned process interpreters (GH-106724) (#107367) 2023-07-28 06:24:29 +00:00
sunau.py
symtable.py [3.12] gh-110045: Update symtable module for PEP 695 (GH-110066) (#110070) 2023-09-29 08:10:22 +02:00
sysconfig.py gh-102515: Remove unused imports in the Lib/ directory (#102516) 2023-03-08 11:45:38 +00:00
tabnanny.py gh-102856: Python tokenizer implementation for PEP 701 (#104323) 2023-05-21 01:03:02 +01:00
tarfile.py [3.12] gh-107845: Fix symlink handling for tarfile.data_filter (GH-107846) (#108211) 2023-08-21 15:31:40 +02:00
telnetlib.py
tempfile.py gh-51574: Make tempfile.mkdtemp() always return absolute paths (#94612) 2023-04-25 16:05:59 +00:00
textwrap.py
this.py
threading.py [3.12] gh-109593: Fix reentrancy issue in multiprocessing resource_tracker (GH-109629) (#109898) 2023-10-02 17:37:40 +02:00
timeit.py [3.12] gh-105052:update timeit function's description (GH-105060) (#108534) 2023-08-27 16:15:01 +02:00
token.py gh-102856: Python tokenizer implementation for PEP 701 (#104323) 2023-05-21 01:03:02 +01:00
tokenize.py [3.12] gh-105390: Correctly raise TokenError instead of SyntaxError for tokenize errors (GH-105399) (#105439) 2023-06-07 12:38:36 +01:00
trace.py gh-103935: Use io.open_code() when executing code in trace and profile modules (GH-103947) 2023-04-27 20:29:35 +00:00
traceback.py [3.12] gh-106922: Fix error location for constructs with spaces and parentheses (GH-108959) (#109147) 2023-09-08 17:04:28 +00:00
tracemalloc.py
tty.py gh-85984: New additions and improvements to the tty library. (#101832) 2023-05-19 18:13:30 +00:00
turtle.py [3.12] gh-107805: Fix signatures of module-level generated functions in turtle (GH-107807) (#108749) 2023-09-01 15:32:35 +02:00
types.py [3.12] gh-107576: Ensure __orig_bases__ are our own in get_original_bases (GH-107584) (#107592) 2023-08-03 17:07:43 +02:00
typing.py [3.12] gh-105974: Revert unintentional behaviour change for protocols with non-callable members and custom __subclasshook__ methods (GH-105976) (#106032) 2023-06-23 15:26:37 +00:00
uu.py gh-99889: Fix directory traversal security flaw in uu.decode() (#104096) 2023-05-09 16:01:58 +00:00
uuid.py gh-104396: uuid.py to skip platform check for emscripten and wasi (gh-104397) 2023-05-12 07:45:55 +09:00
warnings.py gh-39615: Add warnings.warn() skip_file_prefixes support (#100840) 2023-01-27 18:35:14 -08:00
wave.py [3.12] gh-105096: Reformat wave documentation (#105136) (#105138) 2023-05-31 12:04:21 +00:00
weakref.py
webbrowser.py [3.12] gh-105745: Fix open method of webbrowser.Konqueror (GH-105746) (#105777) 2023-06-14 12:26:33 +00:00
xdrlib.py bpo-45975: Simplify some while-loops with walrus operator (GH-29347) 2022-11-26 14:33:25 -08:00
zipapp.py
zipimport.py GH-87235: Make sure "python /dev/fd/9 9</path/to/script.py" works on macOS (#99768) 2022-11-27 11:56:14 +01:00