<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/cpython-git.git/Modules/_testcapimodule.c, branch misc-acks-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-27961: Replace PY_LLONG_MAX, PY_LLONG_MIN and PY_ULLONG_MAX with standard macros (GH-15385)</title>
<updated>2019-12-05T14:55:28+00:00</updated>
<author>
<name>Sergey Fedoseev</name>
<email>fedoseev.sergey@gmail.com</email>
</author>
<published>2019-12-05T14:55:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=1f9f69dd4c5ee232c0b2f782933a89359932a67f'/>
<id>1f9f69dd4c5ee232c0b2f782933a89359932a67f</id>
<content type='text'>
Use standard constants LLONG_MIN, LLONG_MAX and ULLONG_MAX.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use standard constants LLONG_MIN, LLONG_MAX and ULLONG_MAX.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-36854: Fix refleak in subinterpreter (GH-17331)</title>
<updated>2019-11-22T09:58:00+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2019-11-22T09:58:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=310e2d25170a88ef03f6fd31efcc899fe062da2c'/>
<id>310e2d25170a88ef03f6fd31efcc899fe062da2c</id>
<content type='text'>
finalize_interp_clear() now explicitly clears the codec registry and
then trigger a GC collection to clear all references.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
finalize_interp_clear() now explicitly clears the codec registry and
then trigger a GC collection to clear all references.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-27961: Replace PY_LONG_LONG with long long. (GH-15386)</title>
<updated>2019-10-21T06:49:48+00:00</updated>
<author>
<name>Sergey Fedoseev</name>
<email>fedoseev.sergey@gmail.com</email>
</author>
<published>2019-10-21T06:49:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=a9ed91e6c2f0f1a9960b1382321918448228a801'/>
<id>a9ed91e6c2f0f1a9960b1382321918448228a801</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-38006: Add unit test for weakref clear bug (GH-16788)</title>
<updated>2019-10-16T03:56:48+00:00</updated>
<author>
<name>Neil Schemenauer</name>
<email>nas-github@arctrix.com</email>
</author>
<published>2019-10-16T03:56:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=392a13bb9346331b087bcd8bb1b37072c126abee'/>
<id>392a13bb9346331b087bcd8bb1b37072c126abee</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-36389: _PyObject_CheckConsistency() available in release mode (GH-16612)</title>
<updated>2019-10-07T16:42:01+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2019-10-07T16:42:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=6876257eaabdb30f27ebcbd7d2557278ce2e5705'/>
<id>6876257eaabdb30f27ebcbd7d2557278ce2e5705</id>
<content type='text'>
bpo-36389, bpo-38376: The _PyObject_CheckConsistency() function is
now also available in release mode. For example, it can be used to
debug a crash in the visit_decref() function of the GC.

Modify the following functions to also work in release mode:

* _PyDict_CheckConsistency()
* _PyObject_CheckConsistency()
* _PyType_CheckConsistency()
* _PyUnicode_CheckConsistency()

Other changes:

* _PyMem_IsPtrFreed(ptr) now also returns 1 if ptr is NULL
  (equals to 0).
* _PyBytesWriter_CheckConsistency() now returns 1 and is only used
  with assert().
* Reorder _PyObject_Dump() to write safe fields first, and only
  attempt to render repr() at the end.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
bpo-36389, bpo-38376: The _PyObject_CheckConsistency() function is
now also available in release mode. For example, it can be used to
debug a crash in the visit_decref() function of the GC.

Modify the following functions to also work in release mode:

* _PyDict_CheckConsistency()
* _PyObject_CheckConsistency()
* _PyType_CheckConsistency()
* _PyUnicode_CheckConsistency()

Other changes:

* _PyMem_IsPtrFreed(ptr) now also returns 1 if ptr is NULL
  (equals to 0).
* _PyBytesWriter_CheckConsistency() now returns 1 and is only used
  with assert().
* Reorder _PyObject_Dump() to write safe fields first, and only
  attempt to render repr() at the end.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-38321: Fix _testcapimodule.c warning (GH-16494)</title>
<updated>2019-09-30T19:14:26+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2019-09-30T19:14:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=aca8c406ada3bb547765b262bed3ac0cc6be8dd3'/>
<id>aca8c406ada3bb547765b262bed3ac0cc6be8dd3</id>
<content type='text'>
Fix the following warning:

    modules\_testcapimodule.c(6409):
    warning C4146: unary minus operator applied to unsigned type,
    result still unsigned</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix the following warning:

    modules\_testcapimodule.c(6409):
    warning C4146: unary minus operator applied to unsigned type,
    result still unsigned</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-38140: Make dict and weakref offsets opaque for C heap types (#16076)</title>
<updated>2019-09-19T16:29:05+00:00</updated>
<author>
<name>Eddie Elizondo</name>
<email>eelizondo@fb.com</email>
</author>
<published>2019-09-19T16:29:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=3368f3c6ae4140a0883e19350e672fd09c9db616'/>
<id>3368f3c6ae4140a0883e19350e672fd09c9db616</id>
<content type='text'>
* Make dict and weakref offsets opaque for C heap types

* Add news
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Make dict and weakref offsets opaque for C heap types

* Add news
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-38150 Fix refleak in the finalizer of a _testcapimodule type (GH-16115)</title>
<updated>2019-09-13T16:48:03+00:00</updated>
<author>
<name>Eddie Elizondo</name>
<email>eelizondo@fb.com</email>
</author>
<published>2019-09-13T16:48:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=a67ac2f2d9550e5a36d28f9b6eeacf6575dda2d5'/>
<id>a67ac2f2d9550e5a36d28f9b6eeacf6575dda2d5</id>
<content type='text'>
The PyLong created in the finalizer was not being cleaned up


https://bugs.python.org/issue38150



Automerge-Triggered-By: @matrixise</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The PyLong created in the finalizer was not being cleaned up


https://bugs.python.org/issue38150



Automerge-Triggered-By: @matrixise</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-37879: Fix warnings in _testcapimodule (GH-16004)</title>
<updated>2019-09-12T09:12:53+00:00</updated>
<author>
<name>Petr Viktorin</name>
<email>encukou@gmail.com</email>
</author>
<published>2019-09-12T09:12:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=5e9caeec76119a0d61c25f1466c27b7dbd5115bd'/>
<id>5e9caeec76119a0d61c25f1466c27b7dbd5115bd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-37879: Suppress subtype_dealloc decref when base type is a C heap type (GH-15323)</title>
<updated>2019-09-11T09:17:13+00:00</updated>
<author>
<name>Eddie Elizondo</name>
<email>eduardo.elizondorueda@gmail.com</email>
</author>
<published>2019-09-11T09:17:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=ff023ed36ea260ab64be5895f1f1f087c798987a'/>
<id>ff023ed36ea260ab64be5895f1f1f087c798987a</id>
<content type='text'>
The instance destructor for a type is responsible for preparing
an instance for deallocation by decrementing the reference counts
of its referents.

If an instance belongs to a heap type, the type object of an instance
has its reference count decremented while for static types, which
are permanently allocated, the type object is unaffected by the
instance destructor.

Previously, the default instance destructor searched the class
hierarchy for an inherited instance destructor and, if present,
would invoke it.

Then, if the instance type is a heap type, it would decrement the
reference count of that heap type.  However, this could result in the
premature destruction of a type because the inherited instance
destructor should have already decremented the reference count
of the type object.

This change avoids the premature destruction of the type object
by suppressing the decrement of its reference count when an
inherited, non-default instance destructor has been invoked.

Finally, an assertion on the Py_SIZE of a type was deleted.  Heap
types have a non zero size, making this into an incorrect assertion.

https://github.com/python/cpython/pull/15323</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The instance destructor for a type is responsible for preparing
an instance for deallocation by decrementing the reference counts
of its referents.

If an instance belongs to a heap type, the type object of an instance
has its reference count decremented while for static types, which
are permanently allocated, the type object is unaffected by the
instance destructor.

Previously, the default instance destructor searched the class
hierarchy for an inherited instance destructor and, if present,
would invoke it.

Then, if the instance type is a heap type, it would decrement the
reference count of that heap type.  However, this could result in the
premature destruction of a type because the inherited instance
destructor should have already decremented the reference count
of the type object.

This change avoids the premature destruction of the type object
by suppressing the decrement of its reference count when an
inherited, non-default instance destructor has been invoked.

Finally, an assertion on the Py_SIZE of a type was deleted.  Heap
types have a non zero size, making this into an incorrect assertion.

https://github.com/python/cpython/pull/15323</pre>
</div>
</content>
</entry>
</feed>
