| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
Previously we unref the timers scheduled by `PostDelayedTask()` and `PostNonNestableDelayedTask()`, which had been fine because they were only ever scheduled by GC or logging so it didn't hurt to stop the event loop early and ignore them. But now that `Atomics.waitAsync()` uses `PostNonNestableDelayedTask()` to resolve a promise, we should keep the event loop open for it.
|
This pull request has been marked as stale due to 90 days of inactivity. |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Previously we unref the timers scheduled by PostDelayedTask() and
PostNonNestableDelayedTask(), which had been fine because they
were only ever scheduled by GC or logging so it didn't hurt to
stop the event loop early and ignore them. But now that
Atomics.waitAsync() uses PostNonNestableDelayedTask() to
resolve a promise, we should keep the event loop open for it.
From offline discussion with @syg, what happens with a Atomics.waitAsync() with a timeout on an atomics that does not get notified in time is host-defined. For a host like Node.js, it makes sense to keep running until the returned promise resolves with a timed-out value i.e. makes it similar to how setTimeout() would behave.
This fix is not yet ready though, pending issues:
Opened https://bugs.chromium.org/p/v8/issues/detail?id=13238 for the issues above