<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/cpython-git.git/Python/thread_pthread.h, branch revert-10341-patch-7</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-12822: use monotonic clock for condvar if possible (GH-11723)</title>
<updated>2019-02-20T01:00:09+00:00</updated>
<author>
<name>Inada Naoki</name>
<email>methane@users.noreply.github.com</email>
</author>
<published>2019-02-20T01:00:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=001fee14e0f2ba5f41fb733adc69d5965925a094'/>
<id>001fee14e0f2ba5f41fb733adc69d5965925a094</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-33015: Fix UB in pthread PyThread_start_new_thread (GH-6008)</title>
<updated>2018-11-30T15:14:25+00:00</updated>
<author>
<name>Siddhesh Poyarekar</name>
<email>siddhesh.poyarekar@gmail.com</email>
</author>
<published>2018-11-30T15:14:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=9eea6eaf23067880f4af3a130e3f67c9812e2f30'/>
<id>9eea6eaf23067880f4af3a130e3f67c9812e2f30</id>
<content type='text'>
Fix an undefined behaviour in the pthread implementation of
PyThread_start_new_thread(): add a function wrapper to always return
NULL.

Add pythread_callback struct and pythread_wrapper() to thread_pthread.h.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix an undefined behaviour in the pthread implementation of
PyThread_start_new_thread(): add a function wrapper to always return
NULL.

Add pythread_callback struct and pythread_wrapper() to thread_pthread.h.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-35081: Add _PyThreadState_GET() internal macro (GH-10266)</title>
<updated>2018-11-01T00:51:40+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@redhat.com</email>
</author>
<published>2018-11-01T00:51:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=50b48572d9a90c5bb36e2bef6179548ea927a35a'/>
<id>50b48572d9a90c5bb36e2bef6179548ea927a35a</id>
<content type='text'>
If Py_BUILD_CORE is defined, the PyThreadState_GET() macro access
_PyRuntime which comes from the internal pycore_state.h header.
Public headers must not require internal headers.

Move PyThreadState_GET() and _PyInterpreterState_GET_UNSAFE() from
Include/pystate.h to Include/internal/pycore_state.h, and rename
PyThreadState_GET() to _PyThreadState_GET() there.

The PyThreadState_GET() macro of pystate.h is now redefined when
pycore_state.h is included, to use the fast _PyThreadState_GET().

Changes:

* Add _PyThreadState_GET() macro
* Replace "PyThreadState_GET()-&gt;interp" with
  _PyInterpreterState_GET_UNSAFE()
* Replace PyThreadState_GET() with _PyThreadState_GET() in internal C
  files (compiled with Py_BUILD_CORE defined), but keep
  PyThreadState_GET() in the public header files.
* _testcapimodule.c: replace PyThreadState_GET() with
  PyThreadState_Get(); the module is not compiled with Py_BUILD_CORE
  defined.
* pycore_state.h now requires Py_BUILD_CORE to be defined.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If Py_BUILD_CORE is defined, the PyThreadState_GET() macro access
_PyRuntime which comes from the internal pycore_state.h header.
Public headers must not require internal headers.

Move PyThreadState_GET() and _PyInterpreterState_GET_UNSAFE() from
Include/pystate.h to Include/internal/pycore_state.h, and rename
PyThreadState_GET() to _PyThreadState_GET() there.

The PyThreadState_GET() macro of pystate.h is now redefined when
pycore_state.h is included, to use the fast _PyThreadState_GET().

Changes:

* Add _PyThreadState_GET() macro
* Replace "PyThreadState_GET()-&gt;interp" with
  _PyInterpreterState_GET_UNSAFE()
* Replace PyThreadState_GET() with _PyThreadState_GET() in internal C
  files (compiled with Py_BUILD_CORE defined), but keep
  PyThreadState_GET() in the public header files.
* _testcapimodule.c: replace PyThreadState_GET() with
  PyThreadState_Get(); the module is not compiled with Py_BUILD_CORE
  defined.
* pycore_state.h now requires Py_BUILD_CORE to be defined.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-32593: Drop FreeBSD 9 and older support (#5232)</title>
<updated>2018-01-22T17:32:50+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>victor.stinner@gmail.com</email>
</author>
<published>2018-01-22T17:32:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=13ff24582c99dfb439b1af7295b401415e7eb05b'/>
<id>13ff24582c99dfb439b1af7295b401415e7eb05b</id>
<content type='text'>
Drop support of FreeBSD 9 and older.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Drop support of FreeBSD 9 and older.</pre>
</div>
</content>
</entry>
<entry>
<title>Replace KB unit with KiB (#4293)</title>
<updated>2017-11-08T22:44:44+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>victor.stinner@gmail.com</email>
</author>
<published>2017-11-08T22:44:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=8c663fd60ecba9c82aa4c404dbfb1aae69fe8553'/>
<id>8c663fd60ecba9c82aa4c404dbfb1aae69fe8553</id>
<content type='text'>
kB (*kilo* byte) unit means 1000 bytes, whereas KiB ("kibibyte")
means 1024 bytes. KB was misused: replace kB or KB with KiB when
appropriate.

Same change for MB and GB which become MiB and GiB.

Change the output of Tools/iobench/iobench.py.

Round also the size of the documentation from 5.5 MB to 5 MiB.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
kB (*kilo* byte) unit means 1000 bytes, whereas KiB ("kibibyte")
means 1024 bytes. KB was misused: replace kB or KB with KiB when
appropriate.

Same change for MB and GB which become MiB and GiB.

Change the output of Tools/iobench/iobench.py.

Round also the size of the documentation from 5.5 MB to 5 MiB.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-30768: Recompute timeout on interrupted lock (GH-4103)</title>
<updated>2017-10-24T23:53:32+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>victor.stinner@gmail.com</email>
</author>
<published>2017-10-24T23:53:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=850a18e03e8f8309bc8c39adc6e7d51a4568cd9a'/>
<id>850a18e03e8f8309bc8c39adc6e7d51a4568cd9a</id>
<content type='text'>
Fix the pthread+semaphore implementation of
PyThread_acquire_lock_timed() when called with timeout &gt; 0 and
intr_flag=0: recompute the timeout if sem_timedwait() is interrupted
by a signal (EINTR).

See also the PEP 475.

The pthread implementation of PyThread_acquire_lock() now fails with
a fatal error if the timeout is larger than PY_TIMEOUT_MAX, as done
in the Windows implementation.

The check prevents any risk of overflow in PyThread_acquire_lock().

Add also PY_DWORD_MAX constant.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix the pthread+semaphore implementation of
PyThread_acquire_lock_timed() when called with timeout &gt; 0 and
intr_flag=0: recompute the timeout if sem_timedwait() is interrupted
by a signal (EINTR).

See also the PEP 475.

The pthread implementation of PyThread_acquire_lock() now fails with
a fatal error if the timeout is larger than PY_TIMEOUT_MAX, as done
in the Windows implementation.

The check prevents any risk of overflow in PyThread_acquire_lock().

Add also PY_DWORD_MAX constant.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-25658: Implement PEP 539 for Thread Specific Storage (TSS) API (GH-1362)</title>
<updated>2017-10-06T10:41:34+00:00</updated>
<author>
<name>Masayuki Yamamoto</name>
<email>ma3yuki.8mamo10@gmail.com</email>
</author>
<published>2017-10-06T10:41:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=731e18901484c75b60167a06a0ba0719a6d4827d'/>
<id>731e18901484c75b60167a06a0ba0719a6d4827d</id>
<content type='text'>
See PEP 539 for details.

Highlights of changes:

- Add Thread Specific Storage (TSS) API
- Document the Thread Local Storage (TLS) API as deprecated
- Update code that used TLS API to use TSS API</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
See PEP 539 for details.

Highlights of changes:

- Add Thread Specific Storage (TSS) API
- Document the Thread Local Storage (TLS) API as deprecated
- Update code that used TLS API to use TSS API</pre>
</div>
</content>
</entry>
<entry>
<title>remove support for BSD/OS (closes bpo-31624) (#3812)</title>
<updated>2017-09-29T05:44:27+00:00</updated>
<author>
<name>Benjamin Peterson</name>
<email>benjamin@python.org</email>
</author>
<published>2017-09-29T05:44:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=288d1daadaddf6ae35cf666138ba4b5d07449657'/>
<id>288d1daadaddf6ae35cf666138ba4b5d07449657</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-30860: Consolidate stateful runtime globals. (#3397)</title>
<updated>2017-09-08T05:51:28+00:00</updated>
<author>
<name>Eric Snow</name>
<email>ericsnowcurrently@gmail.com</email>
</author>
<published>2017-09-08T05:51:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=2ebc5ce42a8a9e047e790aefbf9a94811569b2b6'/>
<id>2ebc5ce42a8a9e047e790aefbf9a94811569b2b6</id>
<content type='text'>
* group the (stateful) runtime globals into various topical structs
* consolidate the topical structs under a single top-level _PyRuntimeState struct
* add a check-c-globals.py script that helps identify runtime globals

Other globals are excluded (see globals.txt and check-c-globals.py).</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* group the (stateful) runtime globals into various topical structs
* consolidate the topical structs under a single top-level _PyRuntimeState struct
* add a check-c-globals.py script that helps identify runtime globals

Other globals are excluded (see globals.txt and check-c-globals.py).</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "bpo-30860: Consolidate stateful runtime globals." (#3379)</title>
<updated>2017-09-06T04:43:08+00:00</updated>
<author>
<name>Eric Snow</name>
<email>ericsnowcurrently@gmail.com</email>
</author>
<published>2017-09-06T04:43:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=05351c1bd8b70d1878527762174cdaaba3572395'/>
<id>05351c1bd8b70d1878527762174cdaaba3572395</id>
<content type='text'>
Windows buildbots started failing due to include-related errors.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Windows buildbots started failing due to include-related errors.</pre>
</div>
</content>
</entry>
</feed>
