Age | Commit message (Collapse) | Author |
|
|
|
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.
|
|
|
|
|
|
|
|
* New gen_event:start/2 and gen_event:start_link/2
* Extend gen_event:start/1 and gen_event:start_link/1
to handle an option list as input.
The options to gen_event are the same as to gen_server.
|
|
|
|
|
|
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
=== OTP-19.2 ===
Changed Applications:
- common_test-1.13
- compiler-7.0.3
- crypto-3.7.2
- dialyzer-3.0.3
- edoc-0.8.1
- erl_docgen-0.6.1
- erl_interface-3.9.2
- erts-8.2
- eunit-2.3.2
- hipe-3.15.3
- inets-6.3.4
- kernel-5.1.1
- mnesia-4.14.2
- observer-2.3
- odbc-2.12
- parsetools-2.1.4
- public_key-1.3
- runtime_tools-1.11
- sasl-3.0.2
- ssh-4.4
- ssl-8.1
- stdlib-3.2
- syntax_tools-2.1.1
- tools-2.9
- wx-1.8
Unchanged Applications:
- asn1-4.0.4
- cosEvent-2.2.1
- cosEventDomain-1.2.1
- cosFileTransfer-1.2.1
- cosNotification-1.2.2
- cosProperty-1.2.1
- cosTime-1.2.2
- cosTransactions-1.3.2
- debugger-4.2.1
- diameter-1.12.1
- eldap-1.2.2
- et-1.6
- gs-1.6.2
- ic-4.4.2
- jinterface-1.7.1
- megaco-3.18.1
- orber-3.8.2
- os_mon-2.4.1
- otp_mibs-1.1.1
- percept-0.9
- reltool-0.7.2
- snmp-5.2.4
- typer-0.9.11
- xmerl-1.3.12
* tag 'OTP-19.2':
Updated OTP version
Prepare release
Conflicts:
OTP_VERSION
|
|
The current implementation assumes that escripts all have at least
three lines. But according to the escript documentation, comments
on the second line and emulator flags on the third line are all
optional. Thus escripts with only two lines -- shebang on the
first line and code on the second line -- will not run. This commit
fixes the problem by rearranging the escript header parsing logic,
and recognize the escript body on the second line if the header only
contains a line of shebang.
|
|
|
|
|