Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* lukas/jinterface/disable-travis:
jinterface: Skip tests when hostname cannot be resolved
|
|
* dgud/dot_erlang/OTP-14439:
fixup! Do not load .erlang from current dir
erlc: Do not load .erlang
escript: Do not load .erlang
dialyzer: Do not load .erlang
reltool: Add no_dot_erlang bootfiles
Enable usage of no_dot_erlang in bootstrap
Do not load .erlang from current dir
|
|
* dgud/kernel/get_chars_raw_echo_off:
Let io:get_chars/2 (echo off) fetch chars without eol
|
|
Check that the hostname can be resolved by the native resolver.
What normally has happened when it cannot is that gethostname()
returned a fqdn and `hostname -s` is not part of /etc/hosts.
This is solved on the erlang side by adding `hostname -s` to inet_db,
but java does not have a similar mechanism, so it fails when
it tries to connect to `hostname -s`.
This caused jinterface tests to fail when run in such an environment,
and travis-ci recently started doing this.
|
|
Conflicts:
lib/ssl/src/ssl_connection.erl
|
|
* ingela/ssl/funtion-name-macro:
ssl: Use ?FUNCTION_NAME
|
|
Use ?FUNCTION_NAME macro to enhance code as we will not back-port this
version of the ssl application to versions pre OTP 19.
|
|
|
|
|
|
|
|
|
|
|
|
* ingela/ssl/remove-deprcated-string:
ssl: Use new string functions
|
|
(Slightly) optimize catch and try/catch
OTP-14683
|
|
hipe: Extend the basic_SUITE with one more test
|
|
* rickard/null-chars/ERL-370/OTP-14543:
Don't allow null chars in various strings
Conflicts:
erts/emulator/beam/erl_alloc.types
erts/preloaded/ebin/erlang.beam
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* maint:
Revert "Merge branch 'rickard/null-char-filenames/ERL-370/OTP-14543' into maint"
|
|
This reverts commit 0717a2194e863f3a78595184ccc5637697f03353, reversing
changes made to 71a40658a0cef8b3e25df3a8e48a72d0563a89bf.
|
|
|
|
|
|
|
|
An IP address could in some circomstances be converted to a list and then to_lower was applied to it.
So {$A,1,1,1} was changed to {$a,1,1,1} which of course didn't match....
|
|
|
|
Timeout must be set in suite/0 or init_per_testcase not init_per_group
or init_per_suite
|
|
This is tested by new erts check that will cause badarg when trying to
execute scripts via mod_cgi
|
|
Various places that now reject null chars inside strings
- Primitive file operations reject it in filenames.
- Primitive environment variable operations reject it in
names and values.
- os:cmd() reject it in its input.
Also '=' characters are rejected by primitive environment
variable operations in environment variable names.
Documentation has been updated to document null characters
in these types of data as invalid. Currently these operations
accept null chars at the end of strings, but that will change
in the future.
|
|
* maint:
Updated OTP version
Update release notes
Update version numbers
vsn -> 2.1.1
Update appup and code_change for ERIERL-83
Fix missing monitor in diameter_reg
Conflicts:
OTP_VERSION
|
|
* maint-20:
Updated OTP version
Update release notes
Update version numbers
vsn -> 2.1.1
Update appup and code_change for ERIERL-83
Fix missing monitor in diameter_reg
|
|
RaimoNiskanen/raimo/stdlib/gen_statem-clean_timeout-infinity/OTP-13073
Change gen_statem:call(_, _, {clean_timeout,infinity}) to use proxy
|
|
Rewrite a catch expression like this:
catch side_effect(),
...
to:
try
side_effect()
catch
_:_ ->
ok
end,
...
A try/catch is more efficient since no stack trace will be built
when an exception occurs.
|
|
Improve the receive optimization to be able to handle code
such as this:
Ref = make_ref(),
try
side_effect()
catch _:_ ->
ok
end,
receive
%% Clauses that all match Ref.
.
.
.
end
|
|
If a try/catch is used to ignore the potential exception caused by some
expression with a side effect such as:
try
side_effect()
catch _Class:_Reason ->
ok
end,
.
.
.
the generated code will be wasteful:
try YReg TryLabel
%% call side_effect() here
try_end Yreg
jump GoodLabel
TryLabel:
try_case YReg
%% try_case has set up registers as follows:
%% x(0) -> error | exit | throw
%% x(1) -> reason
%% x(2) -> raw stack trace data
GoodLabel:
%% This code does not use any x registers.
There will be two code paths that both end up at GoodLabel, and
the try_case instruction will set up registers that are never used.
We can do better by replacing try_case with try_end to obtain this
code:
try YReg TryLabel
%% call side_effect() here
try_end Yreg
jump GoodLabel
TryLabel:
try_end YReg
GoodLabel:
The jump optimizer (beam_jump) can further optimize this code
like this:
try YReg TryLabel
%% call side_effect() here
TryLabel:
try_end YReg
|
|
that checks the construction of exception information. The test is
taken from the compiler SUITE but part of it (the one that constructs
exceptions which differ between BEAM and HiPE) is commented out.
Related to the discussion of #1596.
|
|
|
|
|
|
|