Age | Commit message (Collapse) | Author |
|
* maint-18:
Updated OTP version
Prepare release
|
|
Fix run_erl.c so it compiles on Solaris
|
|
Fix the default implementation of address_please
|
|
* jimdigriz/os_mon/fix_cpu_sup_android/OTP-15387:
Make Erlang's cpu_sup function better on Android
SELinux is another cause of MSG_CTRUNC
|
|
The removal set now uses a red-black tree instead of an array on
large inputs, decreasing runtime complexity from `n*n` to
`n*log(n)`. It will also exit early when there are no more items
left in the removal set, drastically improving performance and
memory use when the items to be removed are present near the head
of the list.
This got a lot more complicated than before as the overhead of
always using a red-black tree was unacceptable when either of the
inputs were small, but this compromise has okay-to-decent
performance regardless of input size.
Co-authored-by: Dmytro Lytovchenko <[email protected]>
|
|
Without this patch reltool would try to split strings like "C:\foo"
into ["C","\foo"].
|
|
Caught with unit test in ssl_pem_cache_SUITE.
When local timezone is PST (Pacific Standard Time), PEM cache was not evicting
expired entries due to file time converstion was done using
calendar:now_to_datetime, while file modification time is actually in local time.
Use os:system_time() to align with file_info modified time.
|
|
|
|
|
|
maint-18
* sverker/erts/18/memory-leak-terminating-port/OTP-14609:
erts: Fix memory leak when sending to terminating port
|
|
This greatly increases the performance of '--'/2 which does a lot
of term comparisons.
|
|
memory typo
|
|
|
|
|
|
The first stage wasn't bounded by reductions, and it bumped far
more reductions than it should have due to a logic bug.
|
|
It returns `ok`, instead of `noreply`.
|
|
In the implementation of the zero-copying term storage, we
want to preserve sharing, but not copy literals because the
modules holding the literals could be unloaded under our feet.
|
|
* bjorn/observer/fix-crashdump_viewer/ERL-722/OTP-15365:
Eliminate crash in crashdump_viewer reading some literal maps
|
|
Honor the max heap size when copying literals after purging
|
|
beam_lib: Clarify the beam() type in code and documentation
OTP-15378
|
|
* hans/crypto/cuddle_tests:
crypto: Fix tests failing if more than one test engine available This could happen in an Valgrind run:
crypto: Disable engine tests on Darwin and Windows Does not work.
|
|
This could happen in an Valgrind run:
=== Reason: no case clause matching ["otp_test_engine.so",
"otp_test_engine.valgrind.so"]
in function crypto:check_otp_test_engine/1 (crypto.erl, line 2026)
in call from engine_SUITE:engine_load_all_methods/1 (engine_SUITE.erl, line 154)
|
|
Does not work.
|
|
* hans/ssh/document_user/OTP-15314:
ssh: Re-phrase and adjust the documentation (ssh_file.xml)
ssh: Move some option's documentation to ssh_file user_dir user_dir_fun (missing previously) *_passphrase system_dir
ssh: Clearify a couple of options user_dir, system_dir and *_passphrase are only used in the default callback module ssh_file
ssh: Links updated in ssh.xml
ssh: Add reference manual page for the ssh_file module
ssh: Add new User's Guide chapter about SSH terminology The term "user" means different things in OpenSSH and in Erlang/SSH. This new chapter explains why.
|
|
|
|
user_dir
user_dir_fun (missing previously)
*_passphrase
system_dir
|
|
user_dir, system_dir and *_passphrase are only used in the default callback module ssh_file
|
|
|
|
This callback module has the knowledge about the different files
used by Erlang/OTP SSH.
It was unfortunatly not documented previously.
|
|
The term "user" means different things in OpenSSH and in Erlang/SSH.
This new chapter explains why.
|
|
* rickard/development_runtime_dependency/OTP-15341:
Fixup development runtime dependencies
|
|
The script 'make/fixup_development_runtime_dependencies' is run at
the end of a build of development branches in order to fixup future
not yet resolved versions (<app name>-@<ticket>(:<ticket>)+@) in
'runtime_dependencies'.
|
|
|
|
* ingela/public_key/DSA-SHA2/OTP-15367:
public_key: Add DSA with SHA2 support
|
|
* ingela/public_key/DSA-SHA2/OTP-15367:
public_key: Add DSA with SHA2 support
|
|
|
|
Before this change, it was always the aux thread that was woken
to handle thread progress events scheduled to happen when all
schedulers were going to sleep. This was ok in the pre-OTP-21
implementation when the aux thread just slept on a tse. Now that
it sleeps in the fallback pollset this uses too much cpu so
instead we wake the thread that is doing the request if it is
a managed thread, or else we wake scheduler 1.
|
|
The poll thread does a lot of waking up and then going
back to sleep. A large part of the waking up is managing
thread progress and a large part of that was using thread
specific data to get the thread progress data pointer.
With this refactor the tpd is passed to each of the functions
which greatly decreases the number of ethr_get_tsd calls
which in turn halves the CPU usage of the poller thread in
certain scenarios.
|
|
* ingela/ssl/use-correct-len-aead:
ssl: Correct length to be used in additional data in CHACHA20_POLY1305 cipher
|
|
|
|
|
|
* raimo/tcp-close-while-send/maint/ERL-561/OTP-12242:
Write test case
Fix hanging gen_tcp send vs close race
Conflicts:
erts/preloaded/ebin/prim_inet.beam
|
|
* ingela/ssl/aead-refactor:
ssl: Refactor AEAD ciphers
|
|
Literal maps with complex keys such as:
#{"one"=>1,"two"=>2,"three"=>3,"four"=>4}.
would produce a crash dump that `crashdump_viewer` was unable
to read.
https://bugs.erlang.org/browse/ERL-722
|
|
|
|
TLS-1.3 needs to handle AEAD inputs diffrently than previous versions.
Refactor code to facilitate TLS-1.3 additions.
Change CHACHA20_POLY1305 NONCE to match RFC 7905. This will be
important later when we fix interop with TLS compatible crypto
invocation.
|
|
|
|
|
|
While a gen_tcp send was in progress with filled buffers
and slow receiver a close (from another process) would place
the port in a half dead state so the port could not signal
back to send, that waited for confirmation.
The solution is to after some time (5 s) of waiting for
send confirmation set a monitor on the port, which detects
if the port becomes half dead due to close from another process.
The close pending loop has also been improved to use the linger
timeout for waiting, and to set a system timeout (arbitrarily
selected 3 min) to not wait forever when the other end
reads data s l o w l y (tarpitting, kind of).
|
|
* maint-19:
Updated OTP version
Prepare release
|