aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2018-05-09Merge branch 'maint-19' into maintHans Nilsson
* maint-19: Updated OTP version Prepare release ssh: Renegotiation -> renegotiate ssh: Fix DH group exchange server bug for PuTTY and others following draft-draft-00 from 2001 and not the rfc4419 ssh: Fix server crashes for exit-normal signals Conflicts: OTP_VERSION lib/ssh/doc/src/notes.xml lib/ssh/src/ssh_connection_handler.erl lib/ssh/src/ssh_transport.erl lib/ssh/vsn.mk otp_versions.table
2018-05-09Eliminate call to ct:get_progname() in ts_erl_configRichard Carlsson
During cross compilation, the ct module is not available.
2018-05-09Update reference manuals for loggerSiri Hansen
2018-05-09macros.xml: Document ?OTP_RELEASE, -if and -elifTomas Abrahamsson
2018-05-09syntax_tools: Add support for -if and -elifBjörn Gustavsson
2018-05-09epp: Implement the -if and -elif preprocessor directivesBjörn Gustavsson
Libraries or applications that support more than one major release of OTP may need to use conditional compilation of Erlang source code. Here are few examples where it would be necessary or desirable: * To support a new data type or language feature only available in the latest major release (real-world examples: maps and the stacktrace syntax). * To avoid warnings for deprecated functions. * To avoid dialyzer warnings. Previously, to do conditional compilation, one would have to use a parse transform or some external tool such as 'autoconf'. To simplify conditional compilation, introduce the -if and -elif preprocessor directives, to allow code like this to be written: -if(?OTP_RELEASE =:= 21). %% Code that will only work in OTP 21. -else. %% Fallback code. -endif. What kind of expressions should be allowed after an -if? We certainly don't want to allow anything with a side effect, such as a '!' or a 'receive'. We also don't want it to be possible to call erlang:system_info/1, as that could make the code depedent on features of the run-time system that could change very easily (such as the number of schedulers). Requiring the expression to be a guard expression makes most sense. It is to explain in the documentation and easy for users to understand. For simplicity of implementation, only a single guard expression will be supported; that is, the ',' and ';' syntax for guards is not supported. To allow some useful conditions to be written, there is a special built-in function: defined(Symbol) tests whether the preprocessor symbol is defined, just like -ifdef. The reason for having this defined/1 is that the defined test can be combined with other tests, for example: 'defined(SOME_NAME) andalso ?OTP_RELEASE > 21'.
2018-05-08erts: Rename untrapping db_free_*empty*_tableSverker Eriksson
as it's now only used for empty tables by ets:new/2.
2018-05-08erts: Make ets:delete_all_objects yield on fixed tableSverker Eriksson
2018-05-08erts: Optimize ets delete all in fixed tableSverker Eriksson
by only allocating one FixedDeletion with the new "all" flag instead of one FixedDeletion per slot.
2018-05-08erts: Refactor ets select iteration codeSverker Eriksson
* Remove all "mtraversal_" prefixes. * Rename all local context variables as "ctx". * Changed callbacks from function arguments to members of new base context struct "match_callbacks_t" * Remove unnecessary struct initializations "= {0}"
2018-05-08erts: Cleanup ets codeSverker Eriksson
2018-05-08erts: Optimize ets hash object deallocactionsSverker Eriksson
to be done after lock has been released.
2018-05-08erts: Refactor pseudo deleted ets objectsSverker Eriksson
Separate pseudo-deleted-flag from the hash value.
2018-05-08erts: Make atomic ets:delete_all_objects yieldSverker Eriksson
by using a cooperative strategy that will make any process accessing the table execute delelete_all_objects_continue until the table is empty. This is not an optimal solution as concurrent threads will still block on the table lock, but at least thread progress is made.
2018-05-08Update some specs in loggerSiri Hansen
2018-05-08tools: Handle fast restarts of Xref serverHans Bolinder
2018-05-08Merge pull request #1809 from erlang/dgud-string-deprDan Gudmundsson
Remove comments about deprecation in OTP-21
2018-05-08Updated OTP versionOTP-19.3.6.9Erlang/OTP
2018-05-08Prepare releaseErlang/OTP
2018-05-08Merge branch 'hans/ssh/reneg_bug_19/OTP-15066' into maint-19Erlang/OTP
* hans/ssh/reneg_bug_19/OTP-15066: ssh: Renegotiation -> renegotiate
2018-05-08Merge branch 'hans/ssh/dh_gex_putty_19/OTP-15064' into maint-19Erlang/OTP
* hans/ssh/dh_gex_putty_19/OTP-15064: ssh: Fix DH group exchange server bug for PuTTY and others following draft-draft-00 from 2001 and not the rfc4419
2018-05-08Merge branch 'hans/ssh/server_exit_normal_exit_19/OTP-15018' into maint-19Erlang/OTP
* hans/ssh/server_exit_normal_exit_19/OTP-15018: ssh: Fix server crashes for exit-normal signals
2018-05-08Merge branch 'maint'Hans Nilsson
* maint: Updated OTP version Prepare release ssh: Renegotiation -> renegotiate ssh: Fix DH group exchange server bug for PuTTY and others following draft-draft-00 from 2001 and not the rfc4419 crypto: get_engine_load_cmd_list excluded if no engine support crypto: Fix compilation for LibreSSL 2.7.x crypto: Disable test_engine if engine is disabled crypto: disable engine if OPENSSL_NO_EC* is set If that flag is set, and openssl/engine.h is included, there will be an erro further down in files included by engine.h Conflicts: OTP_VERSION
2018-05-08Merge branch 'maint-20' into maintHans Nilsson
* maint-20: Updated OTP version Prepare release ssh: Renegotiation -> renegotiate ssh: Fix DH group exchange server bug for PuTTY and others following draft-draft-00 from 2001 and not the rfc4419 crypto: get_engine_load_cmd_list excluded if no engine support crypto: Fix compilation for LibreSSL 2.7.x crypto: Disable test_engine if engine is disabled crypto: disable engine if OPENSSL_NO_EC* is set If that flag is set, and openssl/engine.h is included, there will be an erro further down in files included by engine.h
2018-05-08Remove comments about deprecation in OTP-21dgud-string-deprDan Gudmundsson
I had missed the one in lower section.
2018-05-08Merge pull request #1801 from dtip/update-global-name-specHans Bolinder
Update global name typespec
2018-05-07Merge pull request #1800 from erszcz/masterHans Bolinder
Fix syntactic issues in EDoc comments across some libs
2018-05-07Remove obsolete example in Efficiency GuideBjörn Gustavsson
The argument order is no longer important.
2018-05-07Updated OTP versionOTP-20.3.6Erlang/OTP
2018-05-07Prepare releaseErlang/OTP
2018-05-07Merge branch 'hans/ssh/reneg_bug_20/OTP-15066' into maint-20Erlang/OTP
* hans/ssh/reneg_bug_20/OTP-15066: ssh: Renegotiation -> renegotiate
2018-05-07Merge branch 'hans/ssh/dh_gex_putty/OTP-15064' into maint-20Erlang/OTP
* hans/ssh/dh_gex_putty/OTP-15064: ssh: Fix DH group exchange server bug for PuTTY and others following draft-draft-00 from 2001 and not the rfc4419
2018-05-07Merge branch 'hans/crypto/OPENSSL_NO_EC/OTP-15073' into maint-20Erlang/OTP
* hans/crypto/OPENSSL_NO_EC/OTP-15073: crypto: Disable test_engine if engine is disabled crypto: disable engine if OPENSSL_NO_EC* is set If that flag is set, and openssl/engine.h is included, there will be an erro further down in files included by engine.h
2018-05-07Merge branch 'hans/crypto/libressl_errors/OTP-15074' into maint-20Erlang/OTP
* hans/crypto/libressl_errors/OTP-15074: crypto: get_engine_load_cmd_list excluded if no engine support crypto: Fix compilation for LibreSSL 2.7.x
2018-05-07Merge branch 'siri/logger-fix'Siri Hansen
* siri/logger-fix: Change logger callback removing_handler/1 to removing_handler/2 Don't crash logger_server due to unexpected message Add logger:update_process_metadata/1 Improve documentation of logger:set_*_config functions Change return type from logger_formatter:format/2 Improve test of logger_disk_log_h and logger_std_h Update logger documentation Set single_line=true by default in logger_formatter
2018-05-07Change logger callback removing_handler/1 to removing_handler/2Siri Hansen
2018-05-07Don't crash logger_server due to unexpected messageSiri Hansen
2018-05-07Add logger:update_process_metadata/1Siri Hansen
2018-05-07Improve documentation of logger:set_*_config functionsSiri Hansen
2018-05-07Change return type from logger_formatter:format/2Siri Hansen
This used to be string() is now changed to unicode:chardata().
2018-05-07Improve test of logger_disk_log_h and logger_std_hSiri Hansen
2018-05-07Update primary bootstrapBjörn Gustavsson
2018-05-07Update preloaded modulesBjörn Gustavsson
2018-05-07Merge pull request #1802 from michalmuskala/map-is-key-bifBjörn Gustavsson
Introduce is_map_key/2 guard BIF OTP-15037
2018-05-07Merge pull request #1805 from bjorng/bjorn/hipe/remove-unused-modulesBjörn Gustavsson
Remove unused source files in lib/hipe/opt
2018-05-07Merge branch 'john/tools/cuddle-lcnt-tests'John Högberg
* john/tools/cuddle-lcnt-tests: Ensure that lcnt server is terminated after lcnt:stop/0
2018-05-07Ensure that lcnt server is terminated after lcnt:stop/0John Högberg
This makes the nightly tests slightly more stable as they assert that the server isn't alive when lcnt:start/0 is called, which it could still be since the stop command was a plain gen_server call that didn't wait until the termination was completed.
2018-05-06epp: Add the pre-defined macro OTP_RELEASEBjörn Gustavsson
Add a new pre-defined macro called OTP_RELEASE that will expand to an integer being the OTP version. Thus, in OTP 19 the value will be the integer 19. The OTP_RELEASE macro is particularly useful in order to have different source code depending on new language features or new features in the type specification syntax. Those features are only introduced in major versions of OTP. To be truly useful, the -if preprocessor directive need to be implemented. That is the purpose of the next commit. Code that will need to work in both OTP 18 and OTP 19 can be structured in the following way: -ifdef(OTP_RELEASE). %% Code that only works in OTP 19 and later. -else. %% Code that will work in OTP 18. -endif.
2018-05-06Fix typos in erlang.xmlbitnitdit
2018-05-04ssh: Renegotiation -> renegotiateHans Nilsson