INNER CODE UNIT · JavaScript
settle
bvisible/mcp-ssh-manager · src/index.js:493
const settle = (fn, arg) => {
if (settled) return;
settled = true;
fn(arg);
};
socket.on('close', () => {
if (!child.killed) child.kill();
});
child.on('error', (err) => settle(reject, err));
child.on('spawn', () => settle(resolve, socket));
child.on('exit', (code, signal) => {
// Only surface unexpected exits — a kill() after a successful connection is normal.
if (!settled && code !== 0) {
settle(reject, new Error(`Proxy command exited with code ${code}${signal ? ` (${signal})` : ''}`));
} else if (settled && code !== 0 && !signal && !socket.destroyed) {
socket.destroy(new Error(`Proxy command exited with code ${code}`));