<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/cpython-git.git/Lib/multiprocessing, branch refactor-lambda-parameters</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-40443: Remove unused imports in stdlib (GH-19815)</title>
<updated>2020-05-01T00:38:00+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2020-05-01T00:38:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=eb0d359b4b0e14552998e7af771a088b4fd01745'/>
<id>eb0d359b4b0e14552998e7af771a088b4fd01745</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-30966: Add multiprocessing.SimpleQueue.close() (GH-19735)</title>
<updated>2020-04-27T16:11:10+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2020-04-27T16:11:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=9adccc1384568f4d46e37f698cb3e3a4f6ca0252'/>
<id>9adccc1384568f4d46e37f698cb3e3a4f6ca0252</id>
<content type='text'>
Add a new close() method to multiprocessing.SimpleQueue to explicitly
close the queue.

Automerge-Triggered-By: @pitrou</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add a new close() method to multiprocessing.SimpleQueue to explicitly
close the queue.

Automerge-Triggered-By: @pitrou</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-40330: Fix utf-8 size check in ShareableList (GH-19606)</title>
<updated>2020-04-20T18:54:55+00:00</updated>
<author>
<name>Antoine Pitrou</name>
<email>antoine@python.org</email>
</author>
<published>2020-04-20T18:54:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=eba9f6155df59c9beed97fb5764c9f01dd941af0'/>
<id>eba9f6155df59c9beed97fb5764c9f01dd941af0</id>
<content type='text'>
The item size must be checked after encoding to bytes, not before.

Automerge-Triggered-By: @pitrou</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The item size must be checked after encoding to bytes, not before.

Automerge-Triggered-By: @pitrou</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-38891: avoid quadratic item access performance of ShareableList (GH-18996)</title>
<updated>2020-04-19T15:19:24+00:00</updated>
<author>
<name>Thomas Krennwallner</name>
<email>tk+github@postsubmeta.net</email>
</author>
<published>2020-04-19T15:19:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=c8f1715283ec51822fb37a702bf253cbac1af276'/>
<id>c8f1715283ec51822fb37a702bf253cbac1af276</id>
<content type='text'>
Avoid linear runtime of ShareableList.__getitem__ and
ShareableList.__setitem__ by storing running allocated bytes in
ShareableList._allocated_bytes instead of the number of bytes for
a particular stored item.

Co-authored-by: Antoine Pitrou &lt;antoine@python.org&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Avoid linear runtime of ShareableList.__getitem__ and
ShareableList.__setitem__ by storing running allocated bytes in
ShareableList._allocated_bytes instead of the number of bytes for
a particular stored item.

Co-authored-by: Antoine Pitrou &lt;antoine@python.org&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Fix two typos in multiprocessing (GH-19571)</title>
<updated>2020-04-18T06:58:29+00:00</updated>
<author>
<name>Galden</name>
<email>wudenggang0@163.com</email>
</author>
<published>2020-04-18T06:58:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=c606624af8d4cb3b4a052fb263bb983b3f87585b'/>
<id>c606624af8d4cb3b4a052fb263bb983b3f87585b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-40221: Update multiprocessing to use _at_fork_reinit (GH-19511)</title>
<updated>2020-04-14T16:35:36+00:00</updated>
<author>
<name>Dong-hee Na</name>
<email>donghee.na92@gmail.com</email>
</author>
<published>2020-04-14T16:35:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=a5900ecf9f22e65bef489633692e9ea6941379c5'/>
<id>a5900ecf9f22e65bef489633692e9ea6941379c5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-40221: Update multiprocessing to use _at_fork_reinit (GH-19477)</title>
<updated>2020-04-14T13:15:52+00:00</updated>
<author>
<name>Dong-hee Na</name>
<email>donghee.na92@gmail.com</email>
</author>
<published>2020-04-14T13:15:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=e1945307d36849f8be8937144cf3dd6ebab6274c'/>
<id>e1945307d36849f8be8937144cf3dd6ebab6274c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</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>
<entry>
<title>bpo-40094: Add os.waitstatus_to_exitcode() (GH-19201)</title>
<updated>2020-04-01T16:49:29+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2020-04-01T16:49:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=65a796e5272f61b42792d3a8c69686558c1872c5'/>
<id>65a796e5272f61b42792d3a8c69686558c1872c5</id>
<content type='text'>
Add os.waitstatus_to_exitcode() function to convert a wait status to an
exitcode.

Suggest waitstatus_to_exitcode() usage in the documentation when
appropriate.

Use waitstatus_to_exitcode() in:

* multiprocessing, os, subprocess and _bootsubprocess modules;
* test.support.wait_process();
* setup.py: run_command();
* and many tests.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add os.waitstatus_to_exitcode() function to convert a wait status to an
exitcode.

Suggest waitstatus_to_exitcode() usage in the documentation when
appropriate.

Use waitstatus_to_exitcode() in:

* multiprocessing, os, subprocess and _bootsubprocess modules;
* test.support.wait_process();
* setup.py: run_command();
* and many tests.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-39360: Ensure all workers exit when finalizing a multiprocessing Pool (GH-19009)</title>
<updated>2020-03-15T19:45:56+00:00</updated>
<author>
<name>Batuhan Taşkaya</name>
<email>47358913+isidentical@users.noreply.github.com</email>
</author>
<published>2020-03-15T19:45:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=ac10e0c93218627d1a639db0b7b41714c5f6a883'/>
<id>ac10e0c93218627d1a639db0b7b41714c5f6a883</id>
<content type='text'>
When the pull is not used via the context manager or terminate() is called, there is a system in multiprocessing.util that handles finalization of all pools via an atexit handler (the Finalize) class. This class registers the _terminate_pool handler in the registry of finalizers of the module, and that registry is called on interpreter exit via _exit_function. The problem is that the "happy" path with the context manager or manual call to finalize() does some extra steps that _terminate_pool does not. The step that is not executed when the atexit() handler calls _terminate_pool is pinging the _change_notifier queue to unblock the maintenance threads.

This commit moves the notification to the _terminate_pool function so is called from both code paths.

Co-authored-by: Pablo Galindo &lt;Pablogsal@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When the pull is not used via the context manager or terminate() is called, there is a system in multiprocessing.util that handles finalization of all pools via an atexit handler (the Finalize) class. This class registers the _terminate_pool handler in the registry of finalizers of the module, and that registry is called on interpreter exit via _exit_function. The problem is that the "happy" path with the context manager or manual call to finalize() does some extra steps that _terminate_pool does not. The step that is not executed when the atexit() handler calls _terminate_pool is pinging the _change_notifier queue to unblock the maintenance threads.

This commit moves the notification to the _terminate_pool function so is called from both code paths.

Co-authored-by: Pablo Galindo &lt;Pablogsal@gmail.com&gt;</pre>
</div>
</content>
</entry>
</feed>
