Age | Commit message (Collapse) | Author |
|
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.
|
|
* avi/fix-os-cmd-win/OTP-11104:
Add testcase to exported
Added primary bootstrap for os.beam
kernel: redefined deep_list_command test
Remove unnecessary whitespaces in os.erl and os_SUITE.erl
Fix deep list argument error under Windows in os:cmd/1
|
|
* ia/ssl/public_key/crypto/elliptic_curve/OTP-11009: (21 commits)
ssl: Do not advertise EC ciphers if crypto support is insufficient
crypto: Ctify tests and test new API
crypto: Allow integer as srp_private arguments according to docs
ssl: Remove unused `srp_parameters` type spec
crypto, public_key & ssl: Make more functions accept integer keys
snmp: Remove use of deprecated crypto functions
crypto,ssh, netconf, inets: binary_to_integer -> bytes_to_integer
netconf: Remove use of deprecated crypto functions
crypto: Documentation fixes from review
crypto: Change argument order of crypto:next_iv/3
crypto,public_key,ssl: Change return value of crypto:generate_key(ecdh,..)
ssl, public_key, crypto: crypto:algorithms/0 -> crypto:supports/0
ssl, public_key & inets: Remove use of deprecated crypto functions from test code
ssl: Remove use of deprecated crypto functions
public_key: Remove use of deprecated crypto functions
dialyzer: Remove use of deprecated crypto functions
ssh & crypto: Remove use of deprecated crypto functions from ssh
Update primary bootstrap
common_test: Replace use of deprecated crypto functions
beam_lib, compile: Replace use of deprecated crypto functions
...
|
|
|
|
Also fix bugs found by new tests
|
|
* raimo/race-in-prim_inet-close/OTP-10497:
Do not unlink before closing port
|
|
* siri/ct_telnet/no-more-after-timetrap/OTP-10648:
[common_test] Unregister connection if killed
|
|
|
|
As the file 'lib/ssl/src/ssl_srp_primes.hrl' only contains a
specification of a `srp_parameters` type that isn't exported and also
isn't referenced anywhere (neither in the code nor in the
documentation), the type specification (and hence the file as well) can
be removed.
|
|
|
|
|
|
The symptom of this bug was that a (named) telnet connection which was
open and hanging during a timetrap timeout could no longer be opened
again in subsequent test cases.
Since the connection was hanging, ct_telnet:close/1 which was called
during end_per_testcase would fail (timeout) and cause common_test to
brutally kill the connection. The bug was that the connection was not
unregistered at this point. When trying to open the connection again
in the next testcase, common_test attempted to reuse the same
connection since it had not been unregistered. This failed since the
connection in fact was dead.
|
|
* nox/fix-silent-rules/OTP-11111:
Fix some Makefile rules that didn't support silent rules
|
|
|
|
* sverk/win64-fixes:
erts: Change some more 'long' to pointer sized int (ErlDrvUInt)
erts: Fix crash in nif_SUITE for win64
erts: Fix assert in isdigit for negative characters
|
|
|
|
* lukas/erts/process_memory_crash_dump/OTP-11098:
Bump crash dump version
|
|
|
|
* siri/ct/no_prompt_check/OTP-11095:
[common_test] Refactor ct_telnet_SUITE.erl
[common_test] Add new option 'no_prompt_check' to ct_telnet:expect/3.
[common_test] Add debug printouts in ct_telnet_client
[common_test] Backed out wait_for_linebreak option from ct_telnet
[common_test] Add test for ct_telnet using own telnet server
[common_test] Add telnet server to use for testing
|
|
|
|
* nox/fix-wcwidth/OTP-11106:
Properly guard WIDE_TAG use with HAVE_WCWIDTH in ttsl_drv
|
|
|
|
Conflicts:
lib/crypto/doc/src/crypto.xml
Conflicts:
lib/crypto/doc/src/crypto.xml
|
|
to harmonize with next_iv/2
|
|
to conform with the return value of the other types.
|
|
|
|
test code
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Since both the STDLIB and compiler applications turn warnings
into errors, we must stop using the old deprecated crypto functions.
While we are at it, generalize the format of the key tuple returned
by beam_lib:make_crypto_key/2 to facilitate introducing new crypto
methods in the future. Change the format to:
{Type,Key,IV,BlockSize}
where Type, Key, and IV are the first three arguments for either
crypto:block_encrypt4/ or crypto:block_decrypt/4, and BlockSize
is the block size for the crypto algorithm (it is needed to properly
pad the plaintext blocks before encryption).
|
|
|
|
* siri/cuddle-with-tests:
Fix gen_server_SUITE:call_with_huge_message_queue
Fix zip_SUITE:borderline test
|
|
|
|
If this option is used, ct_telnet will not search for a prompt before
attempting to match the given pattern. This is useful if, for
instance, the Pattern itself matches the prompt or if the telnet
session starts interactive programs which do not display the normal
prompt.
|
|
* nm/mnesia_idx_insert_speedup/OTP-11103:
Fix missing case clause for ordered_set tables
Optimize index creation for Mnesia set tables
|
|
* hb/stdlib/erl_pp_options/OTP-11100:
[stdlib] Fix pretty printing of invalid forms
|
|
* rickard/frmptr:
Add 'frmptr' emulator type
Conflicts:
erts/preloaded/ebin/erlang.beam
|
|
* rickard/nosuspend/OTP-11076:
Only verify not busy for erlang:send(Port, Msg, [nosuspend]) until scheduled
|
|
* rickard/inet_opts/OTP-11075:
Make high_msgq_watermark and low_msgq_watermark generic inet options
Conflicts:
erts/preloaded/ebin/prim_inet.beam
|
|
* rickard/inet_db/OTP-11074:
Do not treat port_set_data/port_get_data as signals
Conflicts:
erts/preloaded/ebin/erlang.beam
erts/preloaded/ebin/erts_internal.beam
|
|
Thanks to Tomáš Janoušek.
|
|
* fredrik/close_socket_ei:
erl_interface: check if file descriptor is valid before closing
|
|
* sla/reltool_copy_file_not_owner_fix/OTP-11099:
Fix possibly "not owner" error while file copy with reltool.
|
|
* lukas/erts/process_memory_crash_dump/OTP-11098:
Print process memory usage info in crash dump
|
|
* lukas/erts/nodes_rwlock_contentions/OTP-11097:
Change rwlock to rlock where possible
|
|
Having rwlock could cause high unneccesary contention on the
dist table when calling erlang:nodes() from many schedulers at
the same time.
|