Age | Commit message (Collapse) | Author |
|
|
|
* sverker/cuddle-port_SUITE:
erts: Fix faulty printout in port_SUITE
|
|
|
|
* legoscia/remove-watchdog-vestiges/PR-1255/OTP-14112:
Remove vestiges of watchdog support in heart
|
|
|
|
Update the myths in the Efficiency Guide for OTP 20
|
|
Thanks to Joe Armstrong for the suggestion.
|
|
The myth about tail recursion being faster than body recursion
still seems to be alive, but we don't need to spend that much
space discussing it as we needed earlier. Shorten the discussion
and include a link to to Fred Hebert's excellent blog post.
|
|
* maint:
Remove faulty release note for these fixes
New test cases testing stacktrace from apply on erlang:error()
Fix stactrace for apply on error/[1,2], exit/1, or throw/1
Fix stack-trace generated by a traced process
Conflicts:
erts/emulator/beam/beam_emu.c
erts/etc/unix/etp-commands.in
|
|
OTP-14055
* rickard/stacktrace-bugs:
Remove faulty release note for these fixes
New test cases testing stacktrace from apply on erlang:error()
Fix stactrace for apply on error/[1,2], exit/1, or throw/1
Fix stack-trace generated by a traced process
|
|
|
|
|
|
|
|
|
|
|
|
Reduce memory consumption during compilation
|
|
Add take/2 to all dictionary modules
OTP-14102
|
|
Similar to maps:take/2, add take/2 to the other dictionary
modules in STDLIB:
orddict:take(Key, Dict) -> {Val,NewDict} | 'error'.
dict:take(Key, Dict) -> {Val,NewDict} | 'error'.
gb_trees:take(Key, Dict) -> {Val,NewDict}.
For gb_trees also add:
gb_trees:take_any(Key, Dict) -> {Val,NewDict} | 'error'.
gb_trees already has delete() and delete_any(), so we will
follow that design pattern.
Suggested by Boris Bochkaryov in https://github.com/erlang/otp/pull/1209.
|
|
|
|
* ingela/ssl/terminate/OTP-14100:
ssl: Correct terminate behaviour
|
|
When the terminate function is called explicitly, to make guarantees
that for instance the reuseaddr option works as expected, we must
make sure that the clean up code is not run again when gen_statem
calls terminate. This check was broken in the rewrite from gen_fsm to
gen_statem.
Caused PEM cache errors, that in some cases would
cause unexpected connection failures.
|
|
|
|
|
|
* sverker/cuddle-code_SUITE-versions:
erts: Fix hanging race in code_SUITE:versions
|
|
|
|
hipe: one more test file and some cleanups
|
|
* maint:
Allow escripts with only two lines
Add project-wide Emacs settings file
|
|
Add project-wide Emacs settings file
|
|
Allow escripts with only two lines
OTP-14098
|
|
|
|
|
|
|
|
into maint
* ingela/inets/httpc-redirect-host-header/ERL-316/OTP-14097:
inets: httpc - Correct redirection host header
|
|
|
|
* ingela/inets/httpc-PATCH-doc:
inets: httpc - patch method missing in doc
|
|
|
|
|
|
|
|
The compiler would keep the data structures for two compiler
passes in memory. That could increase the maximum amount of
memory that the compiler uses, and could also have a negative
impact on performance (terms that would not be used again would be
copied by a garbage collection).
Here is an example that shows how the previous version of the code
could get captured:
a_compiler_pass(Mod, St) ->
case Mod:module(St#compile.code, St#compile.options) of
{ok,Code} ->
{ok,St#compile{code=Code}};
...
The reference to the code from the previous pass will only be released
when St is updated. We can avoid the problem by passing the
current version of the code as a function argument:
a_compiler_pass(Mod, Code0, St) ->
case Mod:module(Code0, St#compile.options) of
{ok,Code} ->
{ok,Code,St};
...
In practice, this change does not seem to significantly speed up
the compiler, but it does not do any harm either. It should help
dialyzer in situations when dialyzer compiles several large modules
at the same time.
|
|
|
|
* egil/erts/handle-sigterm-nicely/OTP-14085:
erts: Document SIGTERM handler
erts: Add SIGTERM signal handler
|
|
|
|
|
|
* egil/doc-maps-type/ERL-197/OTP-14096:
doc: Enchance map pair optional/mandatory notes
doc: Change "stands for" to "denotes" in typespec
Remove whitespace errors
|
|
* maint:
Create CONTRIBUTING.md (#1278)
Make sure that Travis fails when test cases fail
Don't include problematic test cases in smoke test
|
|
According to https://help.github.com/articles/setting-guidelines-for-repository-contributors, a link to a file named CONTRIBUTING.md will be shown when someone is about to create a pull request. That is more visible than our Wiki pages, which are easy to miss.
Create the CONTRIBUTING.md file, based on the existing Wiki page https://github.com/erlang/otp/wiki/Contribution-Guidelines.
|
|
Make sure that Travis fails when test cases fail
|
|
Thanks to Max Lapshin for suggesting this myth.
|
|
|
|
RFC2616 Sect 14.23: The Host request-header field specifies the
Internet host AND port number.
|