Age | Commit message (Collapse) | Author |
|
* john/erts/defer-orphan-file-close/OTP-15421/ERIERL-261:
Fix broken assertion on monitor release
Avoid closing files in gc/monitor callbacks
|
|
* sverker/crypto/gcc-8-warning:
crypto: Fix gcc 8 warning
|
|
* sverker/erts/atomics-counters/OTP-13468:
erts: Add new module 'counters'
erts: Add new module 'atomics'
|
|
|
|
|
|
* maint-20:
Updated OTP version
Prepare release
|
|
* ingela/public_key/DSA-SHA2/OTP-15367:
public_key: Add additional ASN-1 definitions for DSA SHA2 support
|
|
* ingela/ssl/maint-bench-cuddle:
ssl: Handle unicode ~s -> ~ts
|
|
|
|
|
|
* hans/ssh/fix_ext_info/OTP-15413:
ssh: Fix ssh_options checking for ext_info
ssh: Fix SSH_MSG_EXT_INFO bug for OTP SSH as server
ssh: Fix SSH_MSG_EXT_INFO bug for OTP SSH as client
|
|
* maint-18:
Updated OTP version
Prepare release
Optimize operator '--' and yield on large inputs
Conflicts:
OTP_VERSION
erts/doc/src/notes.xml
erts/emulator/beam/erl_alloc.types
erts/emulator/beam/erl_bif_lists.c
erts/vsn.mk
lib/stdlib/doc/src/notes.xml
lib/stdlib/vsn.mk
make/otp_version_tickets
otp_versions.table
|
|
We sometimes bump the refc without messing with the table, which
means that we sometimes decrement it while in the table, causing
the old assertion to fail.
The property we want to check is that neither end of the monitor is
present in the table when the monitor is deleted.
|
|
Closing files in these callbacks could block scheduler progress
and cause major system instability. We now defer these operations
to a dedicated process instead.
This process may in turn block forever and prevent further orphaned
files from being closed, but it will keep the emulator itself from
misbehaving.
|
|
|
|
* maint-20:
Updated OTP version
Prepare release
|
|
* ingela/ssl/rsa-kex-engine/ERIERL-268/OTP-15420:
ssl: Add engine handling clause to RSA key exchange
|
|
|
|
|
|
maint-20
* ingela/maint-20/ssl/rsa-kex-engine/ERIERL-268/OTP-15420:
ssl: Add engine handling clause to RSA key exchange
|
|
maint
|
|
|
|
|
|
* hans/ssh/fix_ext_info_doc:
ssh: Fix documentation for public key in ext_info
|
|
* hans/ssh/fix_ext_info_tests:
ssh: Clear remote user_dir in ssh_compat_SUITE
ssh: Check compatibility with new OpenSSH versions
|
|
|
|
|
|
|
|
* hans/ssh/fix_ext_info/OTP-15413:
ssh: Fix ssh_options checking for ext_info
ssh: Fix SSH_MSG_EXT_INFO bug for OTP SSH as server
ssh: Fix SSH_MSG_EXT_INFO bug for OTP SSH as client
|
|
|
|
|
|
* john/erts/OTP-18.3.4/minusminus_trapping/OTP-15371:
Optimize operator '--' and yield on large inputs
|
|
* maint-20:
Updated OTP version
Prepare release
Optimize operator '--' and yield on large inputs
Conflicts:
OTP_VERSION
erts/doc/src/notes.xml
erts/emulator/beam/erl_alloc.types
erts/emulator/beam/erl_bif_lists.c
erts/vsn.mk
lib/ssl/doc/src/notes.xml
lib/ssl/vsn.mk
lib/stdlib/doc/src/notes.xml
lib/stdlib/vsn.mk
make/otp_version_tickets
otp_versions.table
|
|
* john/erts/remove-minusminus-dirty-test:
Remove --/2 from dirty BIF tests
|
|
Now that it traps, --/2 would hang forever when building under
--enable-dirty-schedulers-test.
|
|
* ingela/ssl/erl-dist/ERL-770/OTP-15418:
ssl: Correct gen_statem return value
|
|
* hans/ssh/exec_doc_error/OTP-15416:
ssh: Fix doc error in daemon 'exec' option
|
|
|
|
|
|
* ingela/public-key/more-sha2:
public_key: Add additional ASN-1 definitions for DSA SHA2 support
|
|
A bug for SSH_MSG_EXT_INFO was fixed both for client and server. Before that fix, wrong
option was read for the information sent to the peer.
This commit adapts the option checking so that the correct option now used is available
not only for servers but also for clients.
|
|
The wrong set of supported public keys was sent to the client.
|
|
The message could not be received in connected state
|
|
Could cause renegotiation to fail
|
|
|
|
* bjorn/erts/persistent_terms/OTP-14669:
Implement a tab for persistent terms in crashdump viewer
Add tests of persistent terms for crashdump_viewer
Add a persistent term storage
Refactor releasing of literals
Extend the sharing-preserving routines to optionally copy literals
|
|
Co-authored-by: Siri Hansen <[email protected]>
|
|
|
|
Persistent terms are useful for storing Erlang terms that are never
or infrequently updated. They have the following advantages:
* Constant time access. A persistent term is not copied when it is
looked up. The constant factor is lower than for ETS, and no locks
are taken when looking up a term.
* Persistent terms are not copied in garbage collections.
* There is only ever one copy of a persistent term (until it is
deleted). That makes them useful for storing configuration data
that needs to be easily accessible by all processes.
Persistent terms have the following drawbacks:
* Updates are expensive. The hash table holding the keys for the
persistent terms are updated whenever a persistent term is added,
updated or deleted.
* Updating or deleting a persistent term triggers a "global GC", which
will schedule a heap scan of all processes to search the heap of all
processes for the deleted term. If a process still holds a reference
to the deleted term, the process will be garbage collected and the
term copied to the heap of the process. This global GC can make the
system less responsive for some time.
Three BIFs (implemented in C in the emulator) is the entire
interface to the persistent term functionality:
* put(Key, Value) to store a persistent term.
* get(Key) to look up a persistent term.
* erase(Key) to delete a persistent term.
There are also two additional BIFs to obtain information about
persistent terms:
* info() to return a map with information about persistent terms.
* get() to return a list of a {Key,Value} tuples for all persistent
terms. (The values are not copied.)
|
|
'ingela/ssl/controlling-process-allowed-on-transport-accept-socket' into maint
* ingela/ssl/controlling-process-allowed-on-transport-accept-socket:
ssl: controlling_process should be allowed on transpor_accept sockets along with handshake
|