Commit beb2907
committed
Fix FTP build: return; in non-void function (caught by clang)
_PyGC_ParallelPropagateAliveWithPool returns int but the reentrant-skip
path used "return;" (no value). GCC accepted this silently with the
return value undefined; clang (TSan build) rejects it as an error.
The function is called only from FTP STW collection paths. STW means no
__del__-releases-GIL window that could re-enter dispatch — same logic
as the other three sites (UpdateRefsWithPool, MarkHeapWithPool,
ScanHeapWithPool) which already used the assert-not-reentrant pattern.
Mirror that here.
This unblocks the FTP+TSan build that needed for the post-NBS audit
"TSan on the new FTP dispatch architecture" item.
Verified: clang -fsanitize=thread + --disable-gil now builds clean.
TSan run on FTP build: 90 tests pass, 0 data races, 0 DEADLYSIGNAL.1 parent 9d03efb commit beb2907
1 file changed
Lines changed: 5 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2156 | 2156 | | |
2157 | 2157 | | |
2158 | 2158 | | |
2159 | | - | |
2160 | | - | |
2161 | | - | |
2162 | | - | |
2163 | | - | |
2164 | | - | |
2165 | | - | |
| 2159 | + | |
| 2160 | + | |
| 2161 | + | |
| 2162 | + | |
| 2163 | + | |
2166 | 2164 | | |
2167 | 2165 | | |
2168 | 2166 | | |
| |||
0 commit comments