mirror of https://github.com/grpc/grpc-node.git
grpc-js: server: cull closed sessions from list, check for closed in tryShutdown
This commit is contained in:
parent
931a7c3e9e
commit
cb9f96126f
|
|
@ -500,10 +500,12 @@ export class Server {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// If any sessions are active, close them gracefully.
|
|
||||||
pendingChecks += this.sessions.size;
|
pendingChecks += this.sessions.size;
|
||||||
this.sessions.forEach((session) => {
|
this.sessions.forEach((session) => {
|
||||||
session.close(maybeCallback);
|
if (!session.closed) {
|
||||||
|
pendingChecks += 1;
|
||||||
|
session.close(maybeCallback);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
if (pendingChecks === 0) {
|
if (pendingChecks === 0) {
|
||||||
callback();
|
callback();
|
||||||
|
|
@ -608,6 +610,10 @@ export class Server {
|
||||||
}
|
}
|
||||||
|
|
||||||
this.sessions.add(session);
|
this.sessions.add(session);
|
||||||
|
|
||||||
|
session.on('close', () => {
|
||||||
|
this.sessions.delete(session);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue