Age | Commit message (Collapse) | Author |
|
shutting down
This patch fixes a problem happening when BEAM is shutting down. It is possible for a dirty scheduler to take the lock, and keep it, when the system is shutting down. It may also happen that a normal scheduler decides to schedule some dirty job (example is major garbage collection that results in migrating the process into dirty CPU queue), and hangs trying to take the lock that will never be released.
To fix the problem, either release the lock before entering endless wait loop, or reverse the order in which schedulers are stopped. Either fix works, and, of course, it works even better to apply both.
|
|
* ingela/ssl/crypto-exception-handling:
ssl: Correct handling of crypto exception handling.
|
|
TLS-1.0, TLS-1.1 and DTLS-1.0 are now considered legacy
|
|
|
|
first stab at fixing index_[read|match_object] w plugins
OTP-15689
|
|
Array fixup
|
|
* hasse/stdlib/optimize_string/OTP-15649:
stdlib: Optimize handling of Unicode in the string module
stdlib: Optimize handling of Unicode in the string module
stdlib: Fix a bug in string:lexemes()
|
|
This also imply testing of processes as distribution controllers
using the erlang:dist_ctrl_* BIFs.
|
|
If a suspend/resume signal pair was sent to a process while it
was executing dirty the resume counter on the process got into
an inconsistent state. This in turn could cause the process
to enter a suspended state indefinitely.
|
|
- first stab at fixing index_[read|match_object] w plugins
- do not include index plugins at match ops
- add index_plugin_test_suite
- Increase ix plugin test coverage + bug fix
|
|
|
|
danbaranov/public-key-less-strict-county-name-check
public_key: Work around for certificates with 3 character country codes
OTP-15687
|
|
Unroll some of the functions returning codepoints and grapheme clusters.
|
|
The unicode_util:cp() function handles deep lists faster by returning
the rest of the input more balanced to the right than before.
|
|
|
|
Introduce move_src_window[234] instructions for moving several
consecutively numbered Y registers to discontiguously numbered X
registers. This optimization is effective because the compiler has
sorted the `move` instructions in Y register order.
|
|
* Refactor the code to make it easier to configure the benchmark
* Add a test case for long benchmark runs. The new test case is run by
the OTP-team's benchmark infrastructure and can help in keeping
track of how the performance of ETS is affected by code changes.
|
|
Added a fun for precondition check run before each test case
is actually run. The primary reason for this is the api_to_connect
test case, which does not work for a number of platforms.
Also, moved the IPv6 check into this fun (instead of an explicit
skip in the test case fun) for the IPv6 test cases.
|
|
|
|
|
|
Documentation was incorrect, and new specs provided dialyzer
errors.
|
|
* john/kernel/fix-code-suite-on_load_trace_on_load:
code_SUITE: Always disable tracing after 'upgrade' test
code_SUITE: Fix on_load_trace_on_load test
|
|
into sverker/master/enif_whereis_pid-dirty-dtor
|
|
|
|
|
|
and change some argc checks from badarg to assert.
|
|
to run user NIF code in a more known execution context.
Fixes problems like user calling enif_whereis_pid() in destructor
which may need to release process main lock in order to lock reg_tab.
|
|
Some certificate issuers like Apple use USA instead of US as a country
name. This makes handshake with a server not possible as this considered
as not valid certificate. This commit eases that requirement to allow
both 2 and 3 letters country names.
|
|
|
|
|
|
|
|
move_dup is used very infrequently.
|
|
|
|
|
|
With the new compiler, it has become less common with a
move to x(0) before a jump. Change the move_jump instruction
to take a destination as well as a source.
|
|
|
|
Also support swap of Y registers.
|
|
|
|
It turns out that sequences such as the following are common:
move x0 Y1
move Y2 x0
|
|
It is relatively common to move something from a Y register to
an X register before trimming.
|
|
Apart from the refactoring, the instruction "put_list x c y" is replaced
with "put_list x n y".
|
|
|
|
Introduce the GENOP_NAME_ARITY() macro to avoid setting the arity
wrong for for an instruction.
|
|
That will avoid showing garbage instructions that will never be
executed.
|
|
|
|
public_key: Add AES 256 encryption for old PEM encryption mechanism
OTP-13726
|
|
* hans/ssh/uses_new_crypto_api/OTP-15673:
ssh: Use the exceptions as error return change
ssh: Use new crypto API
|
|
|
|
|
|
* hans/crypto/new_api/OTP-15644: (26 commits)
crypto: Add FIPS testing for a couple of algorithms
crypto: Sort ciphers in alphabetic order in testsuite
crypto: Better error report in crypto_SUITE
crypto: Wrong ifdef symbol used for ENGINE
crypto: Handle EVP_CIPHER_CTX copying correctly
crypto: Fix bug in ng_api
crypto: Better error descriptions
crypto: Fix bug for older cryptolib
crypto: Fix leak for eddsa detected by Valgrind
crypto: Testcase for TLS using new API
crypto: Rename SSL special functions
crypto: New function for SSL app
crypto: Remove compat specials from crypto_init
crypto: Exceptions as error return in api_ng
crypto: Relocate the new api code inside the crypto.erl file
crypto: Cleaning of comments + spec fixing
crypto: Remove unused variables in test case
crypto: Test fixes for stream api emulated by the new api
crypto: Shrink aes.c,h (remove aes_ctr_stream_* funcs)
crypto: Remove chacha20.c,h and rc4.c,h
...
|