Age | Commit message (Collapse) | Author |
|
|
|
* nox/erl_eval-receive/OTP-11137:
Updated primary bootstrap for erl_eval
Added preloaded prim_eval
Fix receive support in erl_eval with a BEAM module
|
|
|
|
* epa/observer_state_view/OTP-11136:
observer: corrected tip message
observer: re-indetion of observer_procinfo.erl
Add processes state view in observer
|
|
* dgud/erts/fix-spawn-unicode/OTP-11105:
kernel: Handle unicode in os:cmd
erts: Change erlang:open_port/2 spec
erts: Change erlang:open_port spawn to handle unicode
|
|
Allow unicode strings in os:cmd and try to convert the
result bytes to unicode list.
Also test it.
|
|
|
|
Previously only 'spawn_executable' handled unicode input.
Also change 'cd' option to always handle unicode.
Update open_port documentation and tests
|
|
* maint:
compiler: Correct liveness optimization for wait/1
|
|
* bjorn/compiler/fix-compiler-crash/OTP-11119:
compiler: Correct liveness optimization for wait/1
|
|
|
|
* anders/diameter/one_failed_avp/OTP-11127:
Adapt CEA/DPA Failed-AVP to RFC 6733
|
|
* anders/diameter/5xxx_failed_avp/OTP-11092:
Fix setting of Failed-AVP on {answer_message, 5xxx} from handle_request
|
|
RFC 6733 says that certain 5xxx result codes must be accompanied by
Failed-AVP, and decode populates #diameter_packet.errors with
Result-Code/AVP pairs for errors it detects. However, Failed-AVP was not
set in the outgoing answer if the handle_request callback returned
{answer_message, 5xxx}. It is now set with the AVP from the first pair
with the specified Result-Code, if found.
Note that {answer_message, 5xxx} doesn't handle all cases in which a
5xxx answer is required, only that in which the setting above is
appropriate. If it isn't then handle_request should construct its answer
and return {reply, Ans}.
|
|
* anders/diameter/host_ip_address/OTP-11045:
Respect Host-IP-Address configuration
|
|
Addresses returned from a transport module were always used to populate
Host-IP-Address AVP's in an outgoing CER/CEA, which precluded the
sending of a VIP address. Transport addresses are now only used if
Host-IP-Address is unspecified.
In other words, respect any configured Host-IP-Address, regardless of
the physical addresses returned by the transport. To use the physical
addresses, don't configure Host-IP-Address.
|
|
* anders/diameter/inband_security/OTP-11050:
Don't send default Inband-Security-Id in CER/CEA
|
|
By setting only one, not many. The handling for other messages (except
DWA, which is forgiving of errors) was dealt with in commit f7ec93e3.
|
|
|
|
* nox/fix-bs_put_string-renaming/OTP-11129:
Bootstrap
Fix renaming of bs_put_string instructions
|
|
* maint:
Replace gc stat lock with sched spec data
Conflicts:
erts/preloaded/ebin/erlang.beam
|
|
* lukas/erts/gc_stat_contention/OTP-10271:
Replace gc stat lock with sched spec data
|
|
|
|
|
|
|
|
* sla/odbc_in_non_standard_location/OTP-11126:
Fix checking for odbc in standard locations when "with-odbc" flag present.
|
|
|
|
* kla/armv6l-for-hipe-fixed/OTP-11125:
add support for hipe on Raspberry Pi (armv6l)
|
|
RFC 6733 recommends against the use of Inband-Security-Id, so only send
a value that differs from the default.
|
|
* maint:
Introduce a better id allocation algorithm for PTabs
|
|
* rickard/ptab-id-alloc/OTP-11077:
Introduce a better id allocation algorithm for PTabs
|
|
|
|
* anders/diameter/watchdog_function_clause/OTP-11115:
Fix watchdog function_clause
|
|
|
|
* anders/diameter/missed_5001/OTP-11087:
Remove redundant integer type specifiers from binaries
Fix recognition of 5001 on mandatory AVP's
|
|
* anders/diameter/avp_decode/OTP-11007:
Detect all 5005 (MISSING_AVP) errors and don't reverse errors
Adapt Failed-AVP setting to RFC 6733
Add spec to diameter_codec
Add spec to diameter_gen
Fix recognition of 5014 (INVALID_AVP_LENGTH) errors
Ensure setting Failed-AVP is appropriate
Correct AVP Length error testcases
|
|
* anders/diameter/avp_length_failure/OTP-11026:
Fix decode failure when AVP Length < 8
|
|
|
|
* md/httpc-stream-once-fix/OTP-11122:
Remove http_chunk:decode/4 as it is no longer used
Fix {stream, {self, once}} in httpc
|
|
|
|
An AVP setting the M-bit was not regarded as erroneous if it was defined
in the dictionary in question and its container (message or Grouped AVP)
had an 'AVP' field. It's now regarded as a 5001 error (AVP_UNSUPPORTED),
as in the case that the AVP is not defined.
|
|
* bjorn/stdlib/improve-ls/OTP-11108:
Teach c:ls/1 to show non-directory files
|
|
The live optimization in beam_utils:live_opt/4 did not take into
account that the wait/1 instruction *never* falls through to
the next instruction (it has the same effect on the control flow
as the jump/1 instruction).
|
|
|
|
* anders/diameter/timetraps/OTP-10914:
Add examples testcase to help identify timetrap failures
Minor traffic suite fix
Add gen_tcp suite
Lighten up on suite timetraps
Add more information to traffic suite timeout failures
|
|
|
|
* nox/fix-ignore/OTP-11117:
Properly ignore os_mon and otp_mibs generated includes
|
|
|
|
|
|
Using the low-level BEAM instructions, we can loop over each message in
the process queue and removes the first message that matches, without
receiving them all to later send them back to itself.
The function prim_eval:'receive'/2 is equivalent to the
following pseudo-code:
'receive'(F, T) ->
RESET MESSAGE QUEUE POINTER,
LOOP:
case PEEK CURRENT MESSAGE WITH TIMEOUT T of
{ok,Msg} ->
case F(Msg) of
nomatch ->
DECREMENT TIMEOUT T,
ADVANCE MESSAGE QUEUE POINTER,
GOTO LOOP;
Result ->
RESET MESSAGE QUEUE POINTER,
Result
end;
timeout ->
RESET MESSAGE QUEUE POINTER,
timeout
end.
To not break Dialyzer and other tools, we use a stub Erlang module which
abstract code is forcefully inserted into prim_inet.erl afterwards
compilation.
|