Skip to content

[3.14] gh-151218: Replace sys.flags in PyConfig_Set() (#151402)#151553

Merged
vstinner merged 1 commit into
python:3.14from
vstinner:replace_sys_flags14
Jun 16, 2026
Merged

[3.14] gh-151218: Replace sys.flags in PyConfig_Set() (#151402)#151553
vstinner merged 1 commit into
python:3.14from
vstinner:replace_sys_flags14

Conversation

@vstinner

@vstinner vstinner commented Jun 16, 2026

Copy link
Copy Markdown
Member

PyConfig_Set() and sys.set_int_max_str_digits() now replace sys.flags (create a new object), instead of modifying sys.flags in-place.

Modifying sys.flags in-place can lead to data races when multiple threads are reading or writing sys.flags in parallel.

Use _Py_atomic functions to get and set max_str_digits members.

(cherry picked from commit b16d23f)

PyConfig_Set() and sys.set_int_max_str_digits() now replace
sys.flags (create a new object), instead of modifying sys.flags in-place.

Modifying sys.flags in-place can lead to data races when multiple
threads are reading or writing sys.flags in parallel.

Use _Py_atomic functions to get and set max_str_digits members.

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
(cherry picked from commit b16d23f)
@vstinner vstinner merged commit 60132db into python:3.14 Jun 16, 2026
49 checks passed
@vstinner vstinner deleted the replace_sys_flags14 branch June 16, 2026 16:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant