Wire comparator CLI, marionette threading model, and final load order.

Initialize SmoThreadingModelDesc from marionette before body startup, load
comparator libs before stimbuff via -c/--comparator-lib, and drop the hardcoded
libcomparatorCore.so load path.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-10 21:17:52 -04:00
parent 560e5364a0
commit 8836ab470b
10 changed files with 88 additions and 29 deletions
+31
View File
@@ -1,3 +1,4 @@
#include <stdexcept>
#include <config.h>
#include <iostream>
#include <opts.h>
@@ -22,6 +23,36 @@ std::shared_ptr<sscl::PuppeteerThread> thread = std::make_shared<
MarionetteComponent mrntt(thread);
stim_buff::SmoThreadingModelDesc smoThreadingModelDesc = {
.componentThread = nullptr
};
void initializeSmoThreadingModelDesc(
const std::shared_ptr<sscl::ComponentThread>& componentThread)
{
if (!componentThread)
{
throw std::runtime_error(
std::string(__func__) + ": componentThread must be non-null");
}
if (smoThreadingModelDesc.componentThread
&& smoThreadingModelDesc.componentThread != componentThread)
{
throw std::runtime_error(
std::string(__func__)
+ ": SmoThreadingModelDesc already initialized with a different "
"ComponentThread");
}
smoThreadingModelDesc.componentThread = componentThread;
}
const stim_buff::SmoThreadingModelDesc& getSmoThreadingModelDesc()
{
return smoThreadingModelDesc;
}
void marionetteInitializeReqCb(bool success)
{
if (success)