OClCollMeshEngn: Add bridged delay in finalize()

See the diff of the todo file within this commit for more details.

In short, we do this to prevent the possibility of an in-flight async
contin accessing metadata that we've already destroyed after finalize()
has been called.
This commit is contained in:
2025-11-27 22:26:50 -04:00
parent d49594ef88
commit 313454c426
3 changed files with 46 additions and 13 deletions
+1 -12
View File
@@ -38,18 +38,7 @@
PcloudStimProducer::stop=>start() sequence:
OpenClCollatingAndMeshingEngine::finalize():
I'm also worried, though less so, about the OClCollMeshEngn: it's
a lot less likely to have an in-flight op run past the point where
the OClCollMeshEngn object has expired.
* But there's still a chance that a long-running OCl kernel could
cause an in-flight async contin to resume executing after its
OclCollMeshEngn has expired.
* We should do a bridged async wait for the std::max() of all
timeouts used by OClCollMeshEngn to pass before leaving
PcloudStimProducer::stop.
Attaching and detaching StimBuffs from StimProducers:
Attaching and detaching StimBuffs from StimProducers:
We've written code recently to attach and detact stimBuffs from a
stimProducer. The code is quite nice, but there's this hanging
omen over the fact that we put no thought into ensuring that