forked from 1b-agent/opencadstudio-upstream
feat(plugin): harden V4 host integration
Preserve legacy wire indices and route concurrent V4 responses and background requests by correlation and stable tab ID.
This commit is contained in:
commit
f247d15f6e
110 files changed
+32159
-1254
No files matched your search
@@ -346,20 +346,20 @@ impl PluginProcess {
|
||||
}
|
||||
Ok(Err(e)) => return Err(e.into()),
|
||||
Err(mpsc::RecvTimeoutError::Timeout) => {
|
||||
let status = spawn_failure_status(&child, &last_stderr);
|
||||
if let Some(child) = child.lock().unwrap_or_else(|e| e.into_inner()).take() {
|
||||
reap(child);
|
||||
}
|
||||
let status = spawn_failure_status(&child, &last_stderr);
|
||||
return Err(PluginError::RunnerCrashed {
|
||||
request: "spawn/accept",
|
||||
status,
|
||||
});
|
||||
}
|
||||
Err(mpsc::RecvTimeoutError::Disconnected) => {
|
||||
let status = spawn_failure_status(&child, &last_stderr);
|
||||
if let Some(child) = child.lock().unwrap_or_else(|e| e.into_inner()).take() {
|
||||
reap(child);
|
||||
}
|
||||
let status = spawn_failure_status(&child, &last_stderr);
|
||||
return Err(PluginError::RunnerCrashed {
|
||||
request: "spawn/accept",
|
||||
status,
|
||||
@@ -740,6 +740,7 @@ impl PluginProcess {
|
||||
}
|
||||
std::thread::sleep(Duration::from_millis(50));
|
||||
}
|
||||
reap(child);
|
||||
}
|
||||
None
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user