<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/cpython-git.git/Lib/threading.py, branch fix-cf-feature-versiob</title>
<subtitle>github.com: python/cpython.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/'/>
<entry>
<title>bpo-40234: Revert "bpo-37266: Daemon threads are now denied in subinterpreters (GH-14049)" (GH-19456)</title>
<updated>2020-04-12T21:45:09+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2020-04-12T21:45:09+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=14d5331eb5e6c38be12bad421bd59ad0fac9e448'/>
<id>14d5331eb5e6c38be12bad421bd59ad0fac9e448</id>
<content type='text'>
This reverts commit 066e5b1a917ec2134e8997d2cadd815724314252.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 066e5b1a917ec2134e8997d2cadd815724314252.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-40089: Add _at_fork_reinit() method to locks (GH-19195)</title>
<updated>2020-04-07T21:11:49+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2020-04-07T21:11:49+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=87255be6964979b5abdc4b9dcf81cdcfdad6e753'/>
<id>87255be6964979b5abdc4b9dcf81cdcfdad6e753</id>
<content type='text'>
Add a private _at_fork_reinit() method to _thread.Lock,
_thread.RLock, threading.RLock and threading.Condition classes:
reinitialize the lock after fork in the child process; reset the lock
to the unlocked state.

Rename also the private _reset_internal_locks() method of
threading.Event to _at_fork_reinit().

* Add _PyThread_at_fork_reinit() private function. It is excluded
  from the limited C API.
* threading.Thread._reset_internal_locks() now calls
  _at_fork_reinit() on self._tstate_lock rather than creating a new
  Python lock object.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add a private _at_fork_reinit() method to _thread.Lock,
_thread.RLock, threading.RLock and threading.Condition classes:
reinitialize the lock after fork in the child process; reset the lock
to the unlocked state.

Rename also the private _reset_internal_locks() method of
threading.Event to _at_fork_reinit().

* Add _PyThread_at_fork_reinit() private function. It is excluded
  from the limited C API.
* threading.Thread._reset_internal_locks() now calls
  _at_fork_reinit() on self._tstate_lock rather than creating a new
  Python lock object.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-39812: Remove daemon threads in concurrent.futures (GH-19149)</title>
<updated>2020-03-27T19:31:22+00:00</updated>
<author>
<name>Kyle Stanley</name>
<email>aeros167@gmail.com</email>
</author>
<published>2020-03-27T19:31:22+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=b61b818d916942aad1f8f3e33181801c4a1ed14b'/>
<id>b61b818d916942aad1f8f3e33181801c4a1ed14b</id>
<content type='text'>
Remove daemon threads from :mod:`concurrent.futures` by adding
an internal `threading._register_atexit()`, which calls registered functions
prior to joining all non-daemon threads. This allows for compatibility
with subinterpreters, which don't support daemon threads.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove daemon threads from :mod:`concurrent.futures` by adding
an internal `threading._register_atexit()`, which calls registered functions
prior to joining all non-daemon threads. This allows for compatibility
with subinterpreters, which don't support daemon threads.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-40089: Fix threading._after_fork() (GH-19191)</title>
<updated>2020-03-27T16:50:42+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2020-03-27T16:50:42+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=d8ff44ce4cd6f3ec0fab5fccda6bf14afcb25c30'/>
<id>d8ff44ce4cd6f3ec0fab5fccda6bf14afcb25c30</id>
<content type='text'>
If fork was not called by a thread spawned by threading.Thread,
threading._after_fork() now creates a _MainThread instance for
_main_thread, instead of a _DummyThread instance.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If fork was not called by a thread spawned by threading.Thread,
threading._after_fork() now creates a _MainThread instance for
_main_thread, instead of a _DummyThread instance.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-15999: Clean up of handling boolean arguments. (GH-15610)</title>
<updated>2019-09-01T09:16:51+00:00</updated>
<author>
<name>Serhiy Storchaka</name>
<email>storchaka@gmail.com</email>
</author>
<published>2019-09-01T09:16:51+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=1f21eaa15e8a0d2b0f78d0e3f2b9e5b458eb0a70'/>
<id>1f21eaa15e8a0d2b0f78d0e3f2b9e5b458eb0a70</id>
<content type='text'>
* Use the 'p' format unit instead of manually called PyObject_IsTrue().
* Pass boolean value instead 0/1 integers to functions that needs boolean.
* Convert some arguments to boolean only once.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Use the 'p' format unit instead of manually called PyObject_IsTrue().
* Pass boolean value instead 0/1 integers to functions that needs boolean.
* Convert some arguments to boolean only once.
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-10978: Semaphores can release multiple threads at a time (GH-15588)</title>
<updated>2019-08-29T08:45:19+00:00</updated>
<author>
<name>Raymond Hettinger</name>
<email>rhettinger@users.noreply.github.com</email>
</author>
<published>2019-08-29T08:45:19+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=35f6301d68bdb0517be284421782d64407dfe72c'/>
<id>35f6301d68bdb0517be284421782d64407dfe72c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "bpo-37788: Fix a reference leak if a thread is not joined (GH-15228)" (GH-15338)</title>
<updated>2019-08-19T23:47:07+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@redhat.com</email>
</author>
<published>2019-08-19T23:47:07+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=d11c2c607768fa549b1aed7899edc061b2ebf19f'/>
<id>d11c2c607768fa549b1aed7899edc061b2ebf19f</id>
<content type='text'>
This reverts commit d3dcc92778807ae8f7ebe85178f36a29711cd478.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit d3dcc92778807ae8f7ebe85178f36a29711cd478.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-37788: Fix a reference leak if a thread is not joined (GH-15228)</title>
<updated>2019-08-19T22:37:17+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@redhat.com</email>
</author>
<published>2019-08-19T22:37:17+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=d3dcc92778807ae8f7ebe85178f36a29711cd478'/>
<id>d3dcc92778807ae8f7ebe85178f36a29711cd478</id>
<content type='text'>
Add threading.Thread.__del__() method to ensure that the thread state
lock is removed from the _shutdown_locks list when a thread
completes.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add threading.Thread.__del__() method to ensure that the thread state
lock is removed from the _shutdown_locks list when a thread
completes.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-37804: Remove the deprecated method threading.Thread.isAlive() (GH-15225)</title>
<updated>2019-08-12T17:41:08+00:00</updated>
<author>
<name>Dong-hee Na</name>
<email>donghee.na92@gmail.com</email>
</author>
<published>2019-08-12T17:41:08+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=44046fe4fc7f00a6eb855b33e6a3f953cf5233a5'/>
<id>44046fe4fc7f00a6eb855b33e6a3f953cf5233a5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Improve threading.daemon docstring (GH-14278)</title>
<updated>2019-06-22T12:51:06+00:00</updated>
<author>
<name>mbarkhau</name>
<email>mbarkhau@gmail.com</email>
</author>
<published>2019-06-22T12:51:06+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=bb110cc2ed81447fb48805f31146cf31323a8fc3'/>
<id>bb110cc2ed81447fb48805f31146cf31323a8fc3</id>
<content type='text'>
Rephrase and clarify that "the entire Python program exits when only daemon threads are left". This matches the documentation at https://docs.python.org/3/library/threading.html#thread-objects.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rephrase and clarify that "the entire Python program exits when only daemon threads are left". This matches the documentation at https://docs.python.org/3/library/threading.html#thread-objects.</pre>
</div>
</content>
</entry>
</feed>
