Revert "Use ref in ComponentThread::joltThreadReq"

This reverts commit 2222491c21.

The thread lifetime ops need to use sh_ptrs because apparently the
thread objects go out of scope at some point during shutdown, before
the threads can actually finish shutting down.
This commit is contained in:
2025-12-27 17:46:39 -04:00
parent 34d76df7d9
commit 7acdfcc337
3 changed files with 39 additions and 27 deletions
@@ -125,8 +125,14 @@ public:
* JOLTing is the mechanism that allows threads to enter their main
* event loops and set up TLS vars after all global constructors have
* completed. This prevents race conditions during system startup.
*
* @param selfPtr Shared pointer to this thread (required because TLS
* isn't set up yet, so shared_from_this() can't be used)
* @param callback Callback to invoke when JOLT completes
*/
void joltThreadReq(Callback<threadLifetimeMgmtOpCbFn> callback);
void joltThreadReq(
const std::shared_ptr<PuppetThread>& selfPtr,
Callback<threadLifetimeMgmtOpCbFn> callback);
// CPU management methods
void pinToCpu(int cpuId);