From c7771e6fbcc061fb2a2bbca43aad2aa33ce02f14 Mon Sep 17 00:00:00 2001 From: Luigi Pinca Date: Sat, 3 Sep 2016 11:43:27 +0200 Subject: [PATCH] doc: clarify sentence in event loop doc Refs: https://github.com/nodejs/node/pull/8370#discussion-diff-77201863 PR-URL: https://github.com/nodejs/node/pull/8400 Reviewed-By: James M Snell Reviewed-By: Colin Ihrig Reviewed-By: Franziska Hinkelmann --- doc/topics/the-event-loop-timers-and-nexttick.md | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/doc/topics/the-event-loop-timers-and-nexttick.md b/doc/topics/the-event-loop-timers-and-nexttick.md index 3c3b5143eb8720..e38dd00dead8fc 100644 --- a/doc/topics/the-event-loop-timers-and-nexttick.md +++ b/doc/topics/the-event-loop-timers-and-nexttick.md @@ -34,12 +34,12 @@ order of operations. │ ┌──────────┴────────────┐ │ incoming: │ │ │ poll │<─────┤ connections, │ │ └──────────┬────────────┘ │ data, etc. │ - │ ┌──────────┴────────────┐ └───────────────┘ + │ ┌──────────┴────────────┐ └───────────────┘ │ │ check │ │ └──────────┬────────────┘ │ ┌──────────┴────────────┐ └──┤ close callbacks │ - └───────────────────────┘ + └───────────────────────┘ *note: each box will be referred to as a "phase" of the event loop.* @@ -69,11 +69,12 @@ actually uses - are those above._ * **timers**: this phase executes callbacks scheduled by `setTimeout()` and `setInterval()`. -* **I/O callbacks**: most types of callback except timers, `setImmediate()`, close -* **idle, prepare**: only used internally -* **poll**: retrieve new I/O events; node will block here when appropriate -* **check**: `setImmediate()` callbacks are invoked here -* **close callbacks**: e.g socket.on('close', ...) +* **I/O callbacks**: executes almost all callbacks with the exception of + close callbacks, the ones scheduled by timers, and `setImmediate()`. +* **idle, prepare**: only used internally. +* **poll**: retrieve new I/O events; node will block here when appropriate. +* **check**: `setImmediate()` callbacks are invoked here. +* **close callbacks**: e.g. `socket.on('close', ...)`. Between each run of the event loop, Node.js checks if it is waiting for any asynchronous I/O or timers and shuts down cleanly if there are not