Use DynamicViralPostingInvoker in at/detachStimBuffDeviceCReq

This commit is contained in:
2026-05-31 07:13:53 -04:00
parent c2eea37a7b
commit d1c74a027c
6 changed files with 62 additions and 25 deletions
+9 -5
View File
@@ -274,13 +274,15 @@ static sscl::co::ViralNonPostingInvoker<int> xcbWindow_finalizeCInd(void)
co_return 0;
}
static sscl::co::ViralNonPostingInvoker<smo::stim_buff::StimBuffDeviceOpResult>
static sscl::co::DynamicViralPostingInvoker<smo::stim_buff::StimBuffDeviceOpResult>
xcbWindow_attachDeviceCReq(
const std::shared_ptr<smo::device::DeviceAttachmentSpec>& desc,
[[maybe_unused]] sscl::co::ExplicitPostTarget postTarget,
const std::shared_ptr<smo::device::DeviceAttachmentSpec>& desc,
const std::shared_ptr<sscl::ComponentThread>& componentThread)
{
(void)postTarget;
// Not used yet, but may be used later.
(void)componentThread;
(void)componentThread;
try {
g_attachedWindows.emplace_back(
@@ -298,10 +300,12 @@ xcbWindow_attachDeviceCReq(
co_return smo::stim_buff::StimBuffDeviceOpResult{true, desc};
}
static sscl::co::ViralNonPostingInvoker<smo::stim_buff::StimBuffDeviceOpResult>
static sscl::co::DynamicViralPostingInvoker<smo::stim_buff::StimBuffDeviceOpResult>
xcbWindow_detachDeviceCReq(
const std::shared_ptr<smo::device::DeviceAttachmentSpec>& spec)
[[maybe_unused]] sscl::co::ExplicitPostTarget postTarget,
const std::shared_ptr<smo::device::DeviceAttachmentSpec>& spec)
{
(void)postTarget;
auto it = std::find_if(g_attachedWindows.begin(), g_attachedWindows.end(),
[&spec](const std::unique_ptr<xcb_window::AttachedWindow>& window) {
return window->getDeviceAttachmentSpec() == spec;