Skip to content
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

ctypes thread safety auditing (and fixing) #127945

Open
1 of 9 tasks
ZeroIntensity opened this issue Dec 14, 2024 · 0 comments
Open
1 of 9 tasks

ctypes thread safety auditing (and fixing) #127945

ZeroIntensity opened this issue Dec 14, 2024 · 0 comments
Labels
extension-modules C modules in the Modules dir topic-ctypes topic-free-threading type-feature A feature request or enhancement

Comments

@ZeroIntensity
Copy link
Member

ZeroIntensity commented Dec 14, 2024

Feature or enhancement

This is a tracking issue for all thread safety problems related to ctypes. I'll be working on this, but others can feel free to give me some help.

First of all, we need to find where the thread safety problems are.

Auditing

Preview Give feedback

I'll be tracking the issues that get found when auditing here. The plan is to just create a new issue and link to it for each new problem instead of flooding this issue with PRs.

Generally, the workflow for fixes should follow most of the rules from #116738, but I suspect we'll need recursive mutexes for quite a few things related to callbacks, because it's difficult to tell what might be re-entrant, and we can't use critical sections for arbitrary function pointers.

Known Issues

Preview Give feedback
  1. 3.13 3.14 extension-modules topic-ctypes topic-free-threading type-crash
    ZeroIntensity
  2. 3.13 3.14 extension-modules topic-ctypes topic-free-threading type-bug

cc @encukou, as the ctypes genius, and @colesbury as the free-threading mastermind.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
extension-modules C modules in the Modules dir topic-ctypes topic-free-threading type-feature A feature request or enhancement
Projects
None yet
Development

No branches or pull requests

1 participant