Skip to content

Make generator methods gen_set_name and gen_set_qualname thread-safe in free-threaded builds #133931

Open
@efimov-mikhail

Description

@efimov-mikhail

Feature or enhancement

Proposal:

When my PR was reviewed, some problem was found: #133373 (comment)
But my code on _GeneratorWrapper was simply copied from gen_set_name method.

So, it seems that there is no critical section in genobject.c at all.
But there is a possibility to change name or qualname for generator/async generator/coroutine.
IMO, some simple code (Py_BEGIN_CRITICAL_SECTION and Py_END_CRITICAL_SECTION) should be added to these two methods.

Also, function object seems to have exactly the same problem.

Linked PRs

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions