Merge branch 'rickard/eager-check-io/OTP-12117' into maint-r16

* rickard/eager-check-io/OTP-12117:
  Introduce support for eager check I/O scheduling
Prepare release
Make sure code links are generated even if undefined macros exist

OTP-11766
Fix ssh_sftp:start_channel timeout

The {timeout, Timeout} option passed to ssh_sftp:start_channel is not
applied to the early phases of the SSH protocol. For example, if the
remote server fails to respond after the "hello" then the call will hang
for as long as the server keeps the TCP connection alive.

This patch passes the Timeout through to ssh:connect. In case the
timeout occurs during these phases, {error, timeout} is returned.
Expose NIF version

This patch allows checking for NIF API version in a way similar to
driver version. E.g. by calling erlang:system_info(nif_version).

Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
Fix gc-related problem with dirty NIFs

Ensure that the return value from a dirty NIF call is made part of the GC
rootset. Add a new regression test to nif_SUITE.

Thanks to Daniel Goertzen for reporting the error and providing a test
case, and to Sverker Eriksson for making test case reproducible and finding
the fix.
Section reference number incorrect
Update test_server app file
Merge branch 'jmrepetti/maint' into maint

* jmrepetti/maint:
  Section reference number incorrect
Update documentation for buffer options
Merge branch 'lemenkov/expose_nif_version' into maint

OTP-12298

* lemenkov/expose_nif_version:
  Expose NIF version
[ct] Add 'newline' option to send functions in ct_telnet

ct_telnet by default adds a newline to all command strings before
sending to the telnet server. In some situations this is not desired,
for example when sending telnet command sequences (prefixed with the
Interprete As Command, IAC, character). In such cases, the new option
can be used. Example - send an Are Your There (AYT) sequence:

ct_telnet:send(Connection, [255,246], [{newline,false}]).
Add stack trace for gen_server exit in ERROR REPORT

If a callback function was terminated with exit/1, there would be no
stack trace in the ERROR REPORT produced by gen_server. This has been
corrected. The actual exit reason for the process is not changed.
Merge branch 'vinoski/dirty-nif-return-gc' into maint

OTP-12300

* vinoski/dirty-nif-return-gc:
  Fix gc-related problem with dirty NIFs
Fix a typo in the zlib documentation
Merge branch 'maint-r16' into maint
Merge branch 'mange/doc_inet/OTP-12296' into maint

* mange/doc_inet/OTP-12296:
  Update documentation for buffer options
Merge branch 'siri/ct_telnet/no-newline/OTP-12252' into maint

* siri/ct_telnet/no-newline/OTP-12252:
  [ct] Add 'newline' option to send functions in ct_telnet
Merge branch 'siri/gen_server/try-catch/OTP-12263' into maint

* siri/gen_server/try-catch/OTP-12263:
  Add stack trace for gen_server exit in ERROR REPORT
Merge branch 'peppe/test_server/erl2html2_macro_problems' into maint

* peppe/test_server/erl2html2_macro_problems:
  Update test_server app file
  Make sure code links are generated even if undefined macros exist

OTP-11766