mirror of
https://github.com/QwenLM/qwen-code.git
synced 2026-04-28 11:41:04 +00:00
fix(cli): suppress Windows pty resize race condition
Add global uncaught exception handler to suppress known race condition in @lydell/node-pty where a deferred resize fires after the pty process has already exited on Windows. Tracking bug: https://github.com/microsoft/node-pty/issues/827 Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
parent
e65953de04
commit
741aa436e3
1 changed files with 22 additions and 0 deletions
|
|
@ -9,8 +9,30 @@
|
|||
import './src/gemini.js';
|
||||
import { main } from './src/gemini.js';
|
||||
import { FatalError } from '@qwen-code/qwen-code-core';
|
||||
import { writeStderrLine } from './src/utils/stdioHelpers.js';
|
||||
|
||||
// --- Global Entry Point ---
|
||||
|
||||
// Suppress known race condition in @lydell/node-pty on Windows where a
|
||||
// deferred resize fires after the pty process has already exited.
|
||||
// Tracking bug: https://github.com/microsoft/node-pty/issues/827
|
||||
process.on('uncaughtException', (error) => {
|
||||
if (
|
||||
process.platform === 'win32' &&
|
||||
error instanceof Error &&
|
||||
error.message === 'Cannot resize a pty that has already exited'
|
||||
) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (error instanceof Error) {
|
||||
writeStderrLine(error.stack ?? error.message);
|
||||
} else {
|
||||
writeStderrLine(String(error));
|
||||
}
|
||||
process.exit(1);
|
||||
});
|
||||
|
||||
main().catch((error) => {
|
||||
if (error instanceof FatalError) {
|
||||
let errorMessage = error.message;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue