Skip to content

Commit b9ac594

Browse files
committed
events: don't call resume after close
1 parent b470ba0 commit b9ac594

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

lib/events.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1071,7 +1071,7 @@ function on(emitter, event, options = kEmptyObject) {
10711071
const value = unconsumedEvents.shift();
10721072
size--;
10731073
if (paused && size < lowWatermark) {
1074-
emitter.resume();
1074+
emitter.resume(); // Can not be finished yet
10751075
paused = false;
10761076
}
10771077
return PromiseResolve(createIterResult(value, false));
@@ -1169,7 +1169,7 @@ function on(emitter, event, options = kEmptyObject) {
11691169
function eventHandler(value) {
11701170
if (unconsumedPromises.isEmpty()) {
11711171
size++;
1172-
if (!paused && size > highWatermark) {
1172+
if (!paused && !finished && size > highWatermark) {
11731173
paused = true;
11741174
emitter.pause();
11751175
}
@@ -1188,6 +1188,7 @@ function on(emitter, event, options = kEmptyObject) {
11881188
abortListenerDisposable?.[SymbolDispose]();
11891189
removeAll();
11901190
finished = true;
1191+
paused = false;
11911192
const doneResult = createIterResult(undefined, true);
11921193
while (!unconsumedPromises.isEmpty()) {
11931194
unconsumedPromises.shift().resolve(doneResult);

0 commit comments

Comments
 (0)