Age | Commit message (Collapse) | Author |
|
Avoid suspending fun caller not just if purge is already done
but also if purge of another module has started. Another purge
of the same module again cannot happen as making current to old
transition includes thread progress.
|
|
A process calling a fun from a module currently being soft-purged
could race with failure of the soft purge. When this happened the
call triggered loading of the module which erroneously would
load new code for the module in the case no new generation was
currently loaded.
|
|
|
|
|
|
* ingela/ssl/prepare-patch:
ssl: Prepare for release
|
|
* ingela/ssl/ECC-selection-fix/OTP-13918:
ssl: Correct ECC curve selection, the error could cause default to always be selected.
|
|
* ingela/ssl/handshake-event-queue/OTP-13917:
ssl: Avoid event reordering
|
|
selected.
|
|
|
|
Several handshake events may be received in the same TLS packet. Then there
will be several events pushed to the gen_statems internal queue.
New events already in the socket-buffer should not be processed
if there are more unprocessed handshake events in next_event queue.
We need to handle this in the next_record/1 function.
|
|
|
|
|
|
* raimo/diffserv-socket-option/OTP-13582:
Tune 'tclass' semantics
Implement IPV6_TCLASS
|
|
* bjorn/erts/on_load/ERL-240/OTP-13893:
erts: Add nif_SUITE:t_on_load
erts: Improve nif_SUITE:upgrade test
Don't leak old code when loading a modules with an on_load function
|
|
* richarl/eunit/fix-asserts/PR-1168/OTP-13892:
Ensure asserts are enabled in eunit.hrl
|
|
* peppe/common_test/docs-19.1:
Document functions for modifying and reading verbosity levels
|
|
|
|
|
|
maint
* tony612/erts/fix-doc-format-in-c_port/PR-1167/OTP-13885:
doc: Fix code format in tutorial/c_port
|
|
* mcherep/erts/fix-doc-typo/PR-1165/OTP-13886:
Typo in documentation fixed
|
|
* egil/update-gitignore:
Update .gitignore
|
|
|
|
|
|
* rickard/gc-msgq-bin-fix/OTP-13890:
Ensure we dont use an invalid live heap fragment pointer
Update vheap size when moving msgq to heap after GC
|
|
* peppe/kernel/invalid_priv_dir/ERL-195/OTP-13758:
Fix incorrect priv_dir when adding app's ebin directory to path
OTP-13758
|
|
OTP-13841
|
|
|
|
|
|
|
|
to include upgrade from deleted (old) module instance
|
|
Normally, calling code:delete/1 before re-loading the code for a
module is unnecessary but causes no problem.
But there will be be problems if the new code has an on_load function.
Code with an on_load function will always be loaded as old code
to allowed it to be easily purged if the on_load function would fail.
If the on_load function succeeds, the old and current code will be
swapped.
So in the scenario where code:delete/1 has been called explicitly,
there is old code but no current code. Loading code with an
on_load function will cause the reference to the old code to be
overwritten. That will at best cause a memory leak, and at worst
an emulator crash (especially if NIFs are involved).
To avoid that situation, we will put the code with the on_load
function in a special, third slot in Module.
ERL-240
|
|
When asserts were moved out to a separate header file, the automatic
enabling of asserts when testing is enabled stopped working.
|
|
* bjorn/erts/start-scripts/ERL-250:
Turn off parallel make for start scripts Makefile
|
|
* bjorn/compiler/beam_validator/OTP-13863:
beam_validator: Handle unreachable instructions
|
|
* rickard/test-cuddle:
Ensure long enough sleep in driver_SUITE:timer_delay driver
|
|
|
|
* ingela/ssl/packet-tests:
ssl: Add timetrap scale calls
ssl: Add nodelay to packet=0|raw tests
|
|
|
|
|
|
|
|
* rickard/dist-map-gc-fix/OTP-13889:
Fix crash due to heap fragments left after GC
|
|
|
|
Do not decode distribution messages as part of the GC operation.
Distribution messages containing maps may generate heap fragments.
|
|
|
|
ab03678e introduced an optimization in the beam_z pass that could
introduce unreachable code in BEAM files (a 'jump' instruction is
removed after a 'raise' instruction, but the code following the
target of the 'jump' is not removed).
Since this situation happens very rarely, there is no point in adding
another pass that can remove unreachable code after beam_z. Instead we
will make sure that beam_validator can skip the unreachable code.
Skipping unreachable code is already done in valfun_1/2 (for
historical reasons), but we will also need to do it in val_dsetel/2.
|
|
Ignore make/make_emakefile
|
|
|
|
* hasse/parsetools/suppress_dialyzer_warnings/OTP-13681:
parsetools: Suppress Dialyzer-warnings
|
|
|
|
At least on macOS (OS X), /usr/bin/install does not seem to be
thread-safe when creating directories. That is, if several
invocations of /usr/bin/install attempts to create the same
directory, one or more of the invocations may fail with an
error, causing the build to fail.
Avoid the problem by turning off parallel make for the
Makefile in erts/start_scripts.
Reported-by: https://bugs.erlang.org/browse/ERL-250
|