Bug report
Bug description:
While working on #126908, @vstinner noted that this part of PyUnstable_AtExit looks wrong:
|
else { |
|
state->last_ll_callback->next = callback; |
|
} |
This will result in loss of callbacks after one has been stored, because the second-to-last one is always overwritten. Noted in gh-118915, PyUnstable_AtExit is also undocumented. I'll work on fixing both.
CPython versions tested on:
3.13, 3.14, CPython main branch
Operating systems tested on:
Linux
Linked PRs
Bug report
Bug description:
While working on #126908, @vstinner noted that this part of
PyUnstable_AtExitlooks wrong:cpython/Modules/atexitmodule.c
Lines 45 to 47 in cef0a90
This will result in loss of callbacks after one has been stored, because the second-to-last one is always overwritten. Noted in gh-118915,
PyUnstable_AtExitis also undocumented. I'll work on fixing both.CPython versions tested on:
3.13, 3.14, CPython main branch
Operating systems tested on:
Linux
Linked PRs
PyUnstable_AtExit#127793PyUnstable_AtExit(GH-127793) #127819