Skip to content

Commit c776c7b

Browse files
Merge branch 'main' into fix/ipaddress-lru-cache-memleak
2 parents 308b1d7 + 639a552 commit c776c7b

122 files changed

Lines changed: 4055 additions & 2109 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/build.yml

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,7 @@ jobs:
354354
with:
355355
persist-credentials: false
356356
- name: Build and test
357-
run: python3 Platforms/Android ci --fast-ci ${{ matrix.arch }}-linux-android
357+
run: JAVA_HOME="${JAVA_HOME_21_X64:-$JAVA_HOME_21_arm64}" python3 Platforms/Android ci --fast-ci ${{ matrix.arch }}-linux-android
358358

359359
build-ios:
360360
name: iOS
@@ -519,10 +519,6 @@ jobs:
519519
run: echo "::add-matcher::.github/problem-matchers/gcc.json"
520520
- name: Install dependencies
521521
run: sudo ./.github/workflows/posix-deps-apt.sh
522-
- name: Set up GCC-10 for ASAN
523-
uses: egor-tensin/setup-gcc@a2861a8b8538f49cf2850980acccf6b05a1b2ae4 # v2.0
524-
with:
525-
version: 10
526522
- name: Configure OpenSSL env vars
527523
run: |
528524
echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> "$GITHUB_ENV"

.github/workflows/reusable-san.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,11 @@ jobs:
4040
# Install clang
4141
wget https://apt.llvm.org/llvm.sh
4242
chmod +x llvm.sh
43-
sudo ./llvm.sh 20
44-
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-20 100
45-
sudo update-alternatives --set clang /usr/bin/clang-20
46-
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-20 100
47-
sudo update-alternatives --set clang++ /usr/bin/clang++-20
43+
sudo ./llvm.sh 21
44+
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-21 100
45+
sudo update-alternatives --set clang /usr/bin/clang-21
46+
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-21 100
47+
sudo update-alternatives --set clang++ /usr/bin/clang++-21
4848
4949
if [ "${SANITIZER}" = "TSan" ]; then
5050
# Reduce ASLR to avoid TSan crashing

.github/workflows/reusable-ubuntu.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,9 @@ jobs:
4949
- name: Install Clang and BOLT
5050
if: ${{ fromJSON(inputs.bolt-optimizations) }}
5151
run: |
52-
sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh 19
53-
sudo apt-get install --no-install-recommends bolt-19
54-
echo PATH="$(llvm-config-19 --bindir):$PATH" >> $GITHUB_ENV
52+
sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh 21
53+
sudo apt-get install --no-install-recommends bolt-21
54+
echo PATH="$(llvm-config-21 --bindir):$PATH" >> $GITHUB_ENV
5555
- name: Configure OpenSSL env vars
5656
run: |
5757
echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> "$GITHUB_ENV"

Doc/library/concurrent.futures.rst

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -386,11 +386,6 @@ in a REPL or a lambda should not be expected to work.
386386
default in absence of a *mp_context* parameter. This feature is incompatible
387387
with the "fork" start method.
388388

389-
.. note::
390-
Bugs have been reported when using the *max_tasks_per_child* feature that
391-
can result in the :class:`ProcessPoolExecutor` hanging in some
392-
circumstances. Follow its eventual resolution in :gh:`115634`.
393-
394389
.. versionchanged:: 3.3
395390
When one of the worker processes terminates abruptly, a
396391
:exc:`~concurrent.futures.process.BrokenProcessPool` error is now raised.
@@ -426,6 +421,11 @@ in a REPL or a lambda should not be expected to work.
426421
require the *fork* start method for :class:`ProcessPoolExecutor` you must
427422
explicitly pass ``mp_context=multiprocessing.get_context("fork")``.
428423

424+
.. versionchanged:: next
425+
Fixed a deadlock (:gh:`115634`) where the executor could hang after
426+
a worker process exited upon reaching its *max_tasks_per_child*
427+
limit while tasks remained queued.
428+
429429
.. method:: terminate_workers()
430430

431431
Attempt to terminate all living worker processes immediately by calling

Doc/library/curses.rst

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,8 @@ Initialization and termination
7676
Initialize the library. Return a :ref:`window <curses-window-objects>` object
7777
which represents the whole screen.
7878

79+
See :func:`setupterm` for a caveat about calling it before this function.
80+
7981
.. note::
8082

8183
If there is an error opening the terminal, the underlying curses library may
@@ -106,6 +108,8 @@ Initialization and termination
106108
The new screen becomes the current one.
107109
Use :func:`set_term` to switch between screens.
108110

111+
See :func:`setupterm` for a caveat about calling it before this function.
112+
109113
.. versionadded:: next
110114

111115
.. function:: new_prescr()
@@ -959,6 +963,13 @@ Terminfo database
959963
terminfo database entry could not be read. If the terminal has already
960964
been initialized, this function has no effect.
961965

966+
.. note::
967+
968+
Calling :func:`initscr` or :func:`newterm` after :func:`setupterm`
969+
leaks the terminal that :func:`setupterm` allocated:
970+
the curses library keeps only a single current terminal
971+
and does not free the previously allocated one.
972+
962973
.. function:: tigetflag(capname)
963974

964975
Return the value of the Boolean capability corresponding to the terminfo

0 commit comments

Comments
 (0)