grpc-js: server: cull closed sessions from list, check for closed in tryShutdown

This commit is contained in:
Michael Lumish 2020-06-08 14:44:14 -07:00
parent 931a7c3e9e
commit cb9f96126f
1 changed files with 8 additions and 2 deletions

View File

@ -500,10 +500,12 @@ export class Server {
}
}
// If any sessions are active, close them gracefully.
pendingChecks += this.sessions.size;
this.sessions.forEach((session) => {
session.close(maybeCallback);
if (!session.closed) {
pendingChecks += 1;
session.close(maybeCallback);
}
});
if (pendingChecks === 0) {
callback();
@ -608,6 +610,10 @@ export class Server {
}
this.sessions.add(session);
session.on('close', () => {
this.sessions.delete(session);
});
});
}
}