<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/cpython-git.git/Lib/concurrent, branch orphaned-comment</title>
<subtitle>github.com: python/cpython.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/'/>
<entry>
<title>bpo-43498: Fix dictionary iteration error in _ExecutorManagerThread (GH-24868)</title>
<updated>2021-11-29T12:02:56+00:00</updated>
<author>
<name>Jakub Kulík</name>
<email>Kulikjak@gmail.com</email>
</author>
<published>2021-11-29T12:02:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=7431448b817d3bf87f71661cf8f3d537807ab2e2'/>
<id>7431448b817d3bf87f71661cf8f3d537807ab2e2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-44733: Add max_tasks_per_child to ProcessPoolExecutor (GH-27373)</title>
<updated>2021-11-20T20:19:41+00:00</updated>
<author>
<name>Logan Jones</name>
<email>loganasherjones@gmail.com</email>
</author>
<published>2021-11-20T20:19:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=fdc0e09c3316098b038996c428e88931f0a4fcdb'/>
<id>fdc0e09c3316098b038996c428e88931f0a4fcdb</id>
<content type='text'>
Co-authored-by: Antoine Pitrou &lt;antoine@python.org&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-authored-by: Antoine Pitrou &lt;antoine@python.org&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-45021: Fix a hang in forked children (GH-28007)</title>
<updated>2021-09-20T18:30:19+00:00</updated>
<author>
<name>nullptr</name>
<email>3621629+0x0L@users.noreply.github.com</email>
</author>
<published>2021-09-20T18:30:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=0bfa1106acfcddc03590e1f5d6789dbad3affe70'/>
<id>0bfa1106acfcddc03590e1f5d6789dbad3affe70</id>
<content type='text'>
_global_shutdown_lock should be reinitialized in forked children</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
_global_shutdown_lock should be reinitialized in forked children</pre>
</div>
</content>
</entry>
<entry>
<title>Use `from` imports (GH-26594)</title>
<updated>2021-06-08T09:47:15+00:00</updated>
<author>
<name>Machinexa2</name>
<email>darkwebmachine@gmail.com</email>
</author>
<published>2021-06-08T09:47:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=d56e700d6c7ebf1a424260d0e4f0c291d1f5b3af'/>
<id>d56e700d6c7ebf1a424260d0e4f0c291d1f5b3af</id>
<content type='text'>
from imports</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
from imports</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-35930: Raising an exception raised in a "future" instance will create reference cycles (#24995)</title>
<updated>2021-03-29T17:22:13+00:00</updated>
<author>
<name>Jesús Cea</name>
<email>jcea@jcea.es</email>
</author>
<published>2021-03-29T17:22:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=32430aadadf6e012e39167d3c18a24e49fb84874'/>
<id>32430aadadf6e012e39167d3c18a24e49fb84874</id>
<content type='text'>
Before: https://lists.es.python.org/pipermail/general/attachments/20201229/0c14bc58/attachment-0002.png

After: https://lists.es.python.org/pipermail/general/attachments/20201229/0c14bc58/attachment-0003.png</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Before: https://lists.es.python.org/pipermail/general/attachments/20201229/0c14bc58/attachment-0002.png

After: https://lists.es.python.org/pipermail/general/attachments/20201229/0c14bc58/attachment-0003.png</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-40692: Run more test_concurrent_futures tests (GH-20239)</title>
<updated>2021-02-08T03:15:51+00:00</updated>
<author>
<name>Asheesh Laroia</name>
<email>github@asheesh.org</email>
</author>
<published>2021-02-08T03:15:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=bf2e7e55d7306b1e2fce7dce767e8df5ff42cf1c'/>
<id>bf2e7e55d7306b1e2fce7dce767e8df5ff42cf1c</id>
<content type='text'>
In the case of multiprocessing.synchronize() being missing, the
test_concurrent_futures test suite now skips only the tests that
require multiprocessing.synchronize().

Validate that multiprocessing.synchronize exists as part of
_check_system_limits(), allowing ProcessPoolExecutor to raise
NotImplementedError during __init__, rather than crashing with
ImportError during __init__ when creating a lock imported from
multiprocessing.synchronize.

Use _check_system_limits() to disable tests of
ProcessPoolExecutor on systems without multiprocessing.synchronize.

Running the test suite without multiprocessing.synchronize reveals
that Lib/compileall.py crashes when it uses a ProcessPoolExecutor.
Therefore, change Lib/compileall.py to call _check_system_limits()
before creating the ProcessPoolExecutor.

Note that both Lib/compileall.py and Lib/test/test_compileall.py
were attempting to sanity-check ProcessPoolExecutor by expecting
ImportError. In multiprocessing.resource_tracker, sem_unlink() is also absent
on platforms where POSIX semaphores aren't available. Avoid using
sem_unlink() if it, too, does not exist.

Co-authored-by: Pablo Galindo &lt;Pablogsal@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In the case of multiprocessing.synchronize() being missing, the
test_concurrent_futures test suite now skips only the tests that
require multiprocessing.synchronize().

Validate that multiprocessing.synchronize exists as part of
_check_system_limits(), allowing ProcessPoolExecutor to raise
NotImplementedError during __init__, rather than crashing with
ImportError during __init__ when creating a lock imported from
multiprocessing.synchronize.

Use _check_system_limits() to disable tests of
ProcessPoolExecutor on systems without multiprocessing.synchronize.

Running the test suite without multiprocessing.synchronize reveals
that Lib/compileall.py crashes when it uses a ProcessPoolExecutor.
Therefore, change Lib/compileall.py to call _check_system_limits()
before creating the ProcessPoolExecutor.

Note that both Lib/compileall.py and Lib/test/test_compileall.py
were attempting to sanity-check ProcessPoolExecutor by expecting
ImportError. In multiprocessing.resource_tracker, sem_unlink() is also absent
on platforms where POSIX semaphores aren't available. Avoid using
sem_unlink() if it, too, does not exist.

Co-authored-by: Pablo Galindo &lt;Pablogsal@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-39349: Add cancel_futures to Executor.shutdown base class (GH-22023)</title>
<updated>2020-09-01T21:18:07+00:00</updated>
<author>
<name>Shantanu</name>
<email>12621235+hauntsaninja@users.noreply.github.com</email>
</author>
<published>2020-09-01T21:18:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=17dc1b789ecc33b4a254eb3b799085f4b3624ca5'/>
<id>17dc1b789ecc33b4a254eb3b799085f4b3624ca5</id>
<content type='text'>
* Add cancel_futures parameter to the Executor base class, since it was missed in the original PR (https://github.com/python/cpython/pull/18057) that added cancel_futures.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add cancel_futures parameter to the Executor base class, since it was missed in the original PR (https://github.com/python/cpython/pull/18057) that added cancel_futures.
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-40443: Remove unused imports in the stdlib (GH-19803)</title>
<updated>2020-04-30T09:26:33+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2020-04-30T09:26:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=90549676e063c2c818cfc14213d3adb7edcc2bd5'/>
<id>90549676e063c2c818cfc14213d3adb7edcc2bd5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-39995: Fix concurrent.futures _ThreadWakeup (GH-19760)</title>
<updated>2020-04-29T01:32:06+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2020-04-29T01:32:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=a4dfe8ede5a37576e17035dccfe109ba7752237e'/>
<id>a4dfe8ede5a37576e17035dccfe109ba7752237e</id>
<content type='text'>
Fix a race condition in concurrent.futures._ThreadWakeup: access to
_ThreadWakeup is now protected with the shutdown lock.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix a race condition in concurrent.futures._ThreadWakeup: access to
_ThreadWakeup is now protected with the shutdown lock.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-30966: concurrent.futures.Process.shutdown() closes queue (GH-19738)</title>
<updated>2020-04-27T18:53:37+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2020-04-27T18:53:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=1a275013d1ecc2e3778d64fda86174b2f13d6969'/>
<id>1a275013d1ecc2e3778d64fda86174b2f13d6969</id>
<content type='text'>
Process.shutdown(wait=True) of concurrent.futures now closes
explicitly the result queue.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Process.shutdown(wait=True) of concurrent.futures now closes
explicitly the result queue.</pre>
</div>
</content>
</entry>
</feed>
