<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/greenlet.git/src/greenlet/greenlet.cpp, branch issue264</title>
<subtitle>github.com: python-greenlet/greenlet.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/greenlet.git/'/>
<entry>
<title>Add a way to get how long it takes to cleanup using gc, and a way to disable it.</title>
<updated>2021-11-16T21:37:18+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2021-11-16T21:37:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/greenlet.git/commit/?id=34724e1c1880d02a69850160fef1abaa4305ccca'/>
<id>34724e1c1880d02a69850160fef1abaa4305ccca</id>
<content type='text'>
Fixes #262.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #262.
</pre>
</div>
</content>
</entry>
<entry>
<title>Change some dynamic_cast to static_cast where we know its safe.</title>
<updated>2021-11-16T17:24:12+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2021-11-16T17:24:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/greenlet.git/commit/?id=1353150ac0f288099ab3b11f70cfae2dbd1d6f31'/>
<id>1353150ac0f288099ab3b11f70cfae2dbd1d6f31</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Drop the PyMainGreenlet type.</title>
<updated>2021-11-16T17:07:09+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2021-11-16T17:07:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/greenlet.git/commit/?id=26d5e513e6c6b816ffa46514c3576f2ff0fcd3f9'/>
<id>26d5e513e6c6b816ffa46514c3576f2ff0fcd3f9</id>
<content type='text'>
No need to have that and MainGreenlet.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
No need to have that and MainGreenlet.
</pre>
</div>
</content>
</entry>
<entry>
<title>Refactor to separate the main greenlet from user-created greenlets.</title>
<updated>2021-11-16T15:54:47+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2021-11-16T15:54:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/greenlet.git/commit/?id=0dbf9e9d4d8282f3685f541cfb0dac4bd0fe8f3f'/>
<id>0dbf9e9d4d8282f3685f541cfb0dac4bd0fe8f3f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Make the main greenlet protected.</title>
<updated>2021-11-09T17:39:08+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2021-11-09T17:39:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/greenlet.git/commit/?id=69764b3869b380bc0979f530cc8db3019d1f1ca8'/>
<id>69764b3869b380bc0979f530cc8db3019d1f1ca8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Make stack_state private.</title>
<updated>2021-11-09T17:32:08+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2021-11-09T17:32:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/greenlet.git/commit/?id=ac20095dc85fb2cd45a271e9e3ab3d57bf0906ef'/>
<id>ac20095dc85fb2cd45a271e9e3ab3d57bf0906ef</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Better detection of dead greenlets: Any greenlet from a dead thread is dead, even the main greenlet.</title>
<updated>2021-11-09T17:01:04+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2021-11-09T17:01:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/greenlet.git/commit/?id=462185e8181b9470c49d648b0aca27cc16d843d2'/>
<id>462185e8181b9470c49d648b0aca27cc16d843d2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix a memory corruption bug in non-standard-threading builds.</title>
<updated>2021-11-09T13:49:15+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2021-11-09T13:49:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/greenlet.git/commit/?id=a58888348fdb26980ab6f63b6d59d209808cb999'/>
<id>a58888348fdb26980ab6f63b6d59d209808cb999</id>
<content type='text'>
we could access the thread state object while deallocating a greenlet, after the thread state had already been destroyed.

On linux, this tended to show up as 'malloc_consolidate(): invalid chunk size'; on macOS it didn't show up at all.

valgrind on linux caught it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
we could access the thread state object while deallocating a greenlet, after the thread state had already been destroyed.

On linux, this tended to show up as 'malloc_consolidate(): invalid chunk size'; on macOS it didn't show up at all.

valgrind on linux caught it.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix a manylinux crasher.</title>
<updated>2021-11-08T23:41:28+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2021-11-08T23:41:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/greenlet.git/commit/?id=f884f3357fa4594e31ef30953bb8eba9cc786d79'/>
<id>f884f3357fa4594e31ef30953bb8eba9cc786d79</id>
<content type='text'>
We were using self-&gt;python_state.tp_clear() when we meant to use this-&gt;python_state.tp_clear().

The extra self had already been cleared, so it was calling into a nullptr.

In member methods, always use this.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We were using self-&gt;python_state.tp_clear() when we meant to use this-&gt;python_state.tp_clear().

The extra self had already been cleared, so it was calling into a nullptr.

In member methods, always use this.
</pre>
</div>
</content>
</entry>
<entry>
<title>Make run_callable private.</title>
<updated>2021-11-08T22:10:14+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2021-11-08T22:10:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/greenlet.git/commit/?id=4b82e1fb10ca66a4b48db7fc404a5b8bafaf541f'/>
<id>4b82e1fb10ca66a4b48db7fc404a5b8bafaf541f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
