<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/cpython-git.git/Lib/concurrent, branch master</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-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>
<entry>
<title>bpo-39207: Spawn workers on demand in ProcessPoolExecutor (GH-19453)</title>
<updated>2020-04-19T14:00:59+00:00</updated>
<author>
<name>Kyle Stanley</name>
<email>aeros167@gmail.com</email>
</author>
<published>2020-04-19T14:00:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=1ac6e379297cc1cf8acf6c1b011fccc7b3da2cbe'/>
<id>1ac6e379297cc1cf8acf6c1b011fccc7b3da2cbe</id>
<content type='text'>
Roughly based on https://github.com/python/cpython/commit/904e34d4e6b6007986dcc585d5c553ee8ae06f95, but with a few substantial differences.

/cc @pitrou @brianquinlan</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Roughly based on https://github.com/python/cpython/commit/904e34d4e6b6007986dcc585d5c553ee8ae06f95, but with a few substantial differences.

/cc @pitrou @brianquinlan</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-39481: PEP 585 for a variety of modules (GH-19423)</title>
<updated>2020-04-10T14:46:36+00:00</updated>
<author>
<name>Batuhan Taşkaya</name>
<email>batuhanosmantaskaya@gmail.com</email>
</author>
<published>2020-04-10T14:46:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=0361556537686f857f1025ead75e6af4ca7cc94a'/>
<id>0361556537686f857f1025ead75e6af4ca7cc94a</id>
<content type='text'>
- concurrent.futures
- ctypes
- http.cookies
- multiprocessing
- queue
- tempfile
- unittest.case
- urllib.parse</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- concurrent.futures
- ctypes
- http.cookies
- multiprocessing
- queue
- tempfile
- unittest.case
- urllib.parse</pre>
</div>
</content>
</entry>
</feed>
