-
Jason Madden authored
Fix an interaction between the switch interval and libuv that could introduce delays processing large batches of callbacks. Specifically, a .3 (idle signal timer) delay as UV_RUN_ONCE would pause if there was no other active timer or IO watcher. Now, if there are still batches of callbacks to run, we explicitly use UV_RUN_NOWAIT to only poll for IO and queue callbacks without waiting at all. This gets the time for the synthetic greenlet-launching benchmarks to match libev-cffi and be close to libuv-cext. Fixes #1493
b4ae48f1