]> git.kaiwu.me - quickjs.git/commitdiff
Fix async generator lifecycle bug (bnoordhuis) (quickjs-ng/quickjs#1355)
authorFabrice Bellard <fabrice@bellard.org>
Sat, 21 Mar 2026 15:34:37 +0000 (16:34 +0100)
committerFabrice Bellard <fabrice@bellard.org>
Sat, 21 Mar 2026 15:34:37 +0000 (16:34 +0100)
quickjs.c

index d8ef72c4d42f0be18bfb13c6a32d83b62da55b75..1a1ba121579ec3410bd1bc06efafe8b7a692d77c 100644 (file)
--- a/quickjs.c
+++ b/quickjs.c
@@ -21105,9 +21105,8 @@ static JSValue js_async_generator_resolve_function(JSContext *ctx,
         } else {
             js_async_generator_resolve(ctx, s, arg, TRUE);
         }
-    } else {
+    } else if (s->state == JS_ASYNC_GENERATOR_STATE_EXECUTING) {
         /* restart function execution after await() */
-        assert(s->state == JS_ASYNC_GENERATOR_STATE_EXECUTING);
         s->func_state->throw_flag = is_reject;
         if (is_reject) {
             JS_Throw(ctx, JS_DupValue(ctx, arg));