-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[#217,#218] Remove Python 2 support code, implement proper thread state handling (4-3-stable) #220
Conversation
890b570
to
47b50cf
Compare
Ran the test suites for Ubuntu 22.04 and 24.04 and everything passed, so I'm marking this ready for review. Will squash and update the other PR tomorrow. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I defer to others. Had a couple of suggestions but looks fine overall. Glad it's working
After some discussion, the plan is to see if testing passes for Ubuntu 20 before testing non-Ubuntu platforms. If the tests pass for all platforms, then Ubuntu 24 and the PREP get a 4.3.3 release. |
84f981a
to
f0fc9dd
Compare
Tests pass for Ubuntu 20.04. Commits squashed. If there are no objections, I will #. |
Let's test the remaining platforms first just in case other tweaks are needed. I'll pull your changes and start running tests. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good overall.
Once the review comments have been addressed, I think we'll be ready to get this in.
Good stuff.
f0fc9dd
to
09e57f6
Compare
Because I don't suspect anything to break, but we need to be sure. |
It still passes. Tested on Ubuntu 24.04 and 20.04. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Excellent. Code is good/ready.
Please add words to the body of the commit message for #218 which explain what is being solved.
09e57f6
to
33e7ab6
Compare
Done |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pound it.
With Python 3.12, we started seeing crashes during certain multithreaded operations. It turns out that changes to the GIL in 3.12 exposed that we are not handling Python thread state properly. This commit fixes this. A new namespace python_state has been added to main.cpp for holding onto some Python state information, and a new struct python_thread_state_scope has also been added for managing Python thread state. This will be improved upon in the future.
33e7ab6
to
94fbb04
Compare
#'d |
Addresses #217
Addresses #218 (WIP)
Not tested yet, could probably be improved.
Since I am currently testing with 4-3-stable, progress may be followed here instead of in #219.