(session: ProcessSession, yieldTimeMs: number)
| 284 | } |
| 285 | |
| 286 | private async waitForExit(session: ProcessSession, yieldTimeMs: number): Promise<void> { |
| 287 | let timer: NodeJS.Timeout | undefined; |
| 288 | try { |
| 289 | await Promise.race([ |
| 290 | session.exitPromise, |
| 291 | new Promise<void>((resolve) => { |
| 292 | timer = setTimeout(resolve, yieldTimeMs); |
| 293 | }), |
| 294 | ]); |
| 295 | } finally { |
| 296 | if (timer) clearTimeout(timer); |
| 297 | } |
| 298 | } |
| 299 | |
| 300 | private createSession(input: StartCommandInput): ProcessSession { |
| 301 | let resolveExit = (): void => undefined; |