Handle lazy IO property allocation failures - #16382
Conversation
|
This change seems fine to me, although have you seen our AI policy? Please remove the test program and go ahead and add additional tests to test/testautomation_iostream.c if they are warranted. |
|
Yeah, that test program is...pretty aggressive. Emphasis on "if they are warranted," which they likely are not for this PR. |
|
Yes I've seen the policy; I work at Nasuni as a Principal SWE and these are the kinds of tests we write for our filesystem. I work on the backend data path team and we try to be very thorough; I have no problem dialing it back |
31ae2f9 to
2f9f6ca
Compare
|
Removed the tests, thanks for the feedback; I'll try not to be so aggressive next time or I'll draft and reach out asking what you'd like. |
|
Forgot to remove the CMake entry... |
Only publish stream property groups after all initializer calls succeed. Destroy incomplete groups and allow retry so failed property insertion cannot orphan a dynamic stream's existing buffer. Add an isolated allocation failure regression covering close, retry, and explicit ownership transfer.
2f9f6ca to
6475037
Compare
|
Rebased and removed the CMakeLists entry; please let me know if you'd like anything else. |
|
Merged, thanks! |
|
Thanks Sam, and for what it's worth, thank you for all you've done. I've been working with SDL for a while on my personal projects, and I really appreciate it. |
|
You're welcome! :) |
Only publish stream property groups after all initializer calls succeed. Destroy incomplete groups and allow retry so failed property insertion cannot orphan a dynamic stream's existing buffer.
Add an isolated allocation failure regression covering close, retry, and explicit ownership transfer.
Description
This change prevents failed property initialization from publishing incomplete properties and leaking a stream’s buffer, that's pretty much it.
Existing Issue(s)
None, but can create one if necessary.
Thanks,
Chris