mirror of
https://github.com/Microsoft/vscode
synced 2024-08-27 04:49:35 +00:00
Await process exit from remote on terminal kill/kill all commands
Part of #138049
This commit is contained in:
parent
fcf55dce4a
commit
3ea9cd4bda
|
@ -1804,9 +1804,11 @@ export function registerTerminalActions() {
|
|||
}
|
||||
async run(accessor: ServicesAccessor) {
|
||||
const terminalService = accessor.get(ITerminalService);
|
||||
const disposePromises: Promise<void>[] = [];
|
||||
for (const instance of terminalService.instances) {
|
||||
await terminalService.safeDisposeTerminal(instance);
|
||||
disposePromises.push(terminalService.safeDisposeTerminal(instance));
|
||||
}
|
||||
await Promise.all(disposePromises);
|
||||
}
|
||||
});
|
||||
registerAction2(class extends Action2 {
|
||||
|
@ -1856,9 +1858,11 @@ export function registerTerminalActions() {
|
|||
return;
|
||||
}
|
||||
const terminalService = accessor.get(ITerminalService);
|
||||
const disposePromises: Promise<void>[] = [];
|
||||
for (const instance of selectedInstances) {
|
||||
terminalService.safeDisposeTerminal(instance);
|
||||
disposePromises.push(terminalService.safeDisposeTerminal(instance));
|
||||
}
|
||||
await Promise.all(disposePromises);
|
||||
if (terminalService.instances.length > 0) {
|
||||
accessor.get(ITerminalGroupService).focusTabs();
|
||||
focusNext(accessor);
|
||||
|
|
|
@ -342,7 +342,10 @@ export class TerminalService implements ITerminalService {
|
|||
return;
|
||||
}
|
||||
}
|
||||
instance.dispose();
|
||||
return new Promise<void>(r => {
|
||||
instance.onExit(() => r());
|
||||
instance.dispose();
|
||||
});
|
||||
}
|
||||
|
||||
private _setConnected() {
|
||||
|
|
Loading…
Reference in a new issue