Age | Commit message (Collapse) | Author |
|
|
|
|
|
and instead let erlang:load_nif/2 return {error, {reload, _}}
before even trying to load the library
if a NIF library has already been successfully loaded
for the calling module instance.
|
|
|
|
* maint:
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
Conflicts:
erts/preloaded/ebin/erts_code_purger.beam
erts/preloaded/ebin/erts_internal.beam
erts/preloaded/src/erts_code_purger.erl
|
|
* 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
|
|
Conflicts:
OTP_VERSION
|
|
|
|
|
|
* mcherep/erts/fix-doc-typo/PR-1165/OTP-13886:
Typo in documentation fixed
|
|
|
|
|
|
|
|
|
|
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
|
|
* maint:
beam_validator: Handle unreachable instructions
Turn off parallel make for start scripts Makefile
|
|
* bjorn/erts/start-scripts/ERL-250:
Turn off parallel make for start scripts Makefile
|
|
* maint:
Ensure long enough sleep in driver_SUITE:timer_delay driver
|
|
* rickard/test-cuddle:
Ensure long enough sleep in driver_SUITE:timer_delay driver
|
|
* maint:
Updated OTP version
Prepare release
Fix crash due to heap fragments left after GC
Conflicts:
OTP_VERSION
erts/emulator/beam/erl_gc.c
|
|
|
|
|
|
Do not decode distribution messages as part of the GC operation.
Distribution messages containing maps may generate heap fragments.
|
|
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
|
|
|
|
* maint:
Fix restore of 'current' field when rescheduled NIF completes
|
|
|
|
|
|
* egil/erts/start-scripts-dependency/ERL-241/OTP-13871:
erts: Fix start scripts generation dependency in Makefile
|
|
|
|
* sverker/beam-too-few-functions/ERL-244:
erts: Reject beam file with too few functions
|
|
Reported-by: Kent Fredric
|
|
* maint:
doc: Use groff with -Tutf8
|
|
* hasse/doc/format_man_pages_utf8:
doc: Use groff with -Tutf8
|
|
* maint:
Fix erts_thr_progress_unmanaged_delay()
|
|
* rickard/thr-prgr-unmanaged-delay-bug/OTP-13869:
Fix erts_thr_progress_unmanaged_delay()
|
|
* maint:
Fix thread calls to erl_drv_send_term()/erl_drv_output_term()
|
|
* rickard/drv-send-term-thr-bug/OTP-13866:
Fix thread calls to erl_drv_send_term()/erl_drv_output_term()
Conflicts:
erts/emulator/beam/io.c
|
|
|
|
|
|
* kvakvs/erts/gc_minor_option/OTP-11695:
erts: Fix req_system_task gc typespec
Fix process_SUITE system_task_blast and no_priority_inversion2
Option to erlang:garbage_collect to request minor (generational) GC
Conflicts:
erts/emulator/beam/erl_process.c
erts/preloaded/src/erts_internal.erl
|
|
|
|
|
|
Thread progress leader update did not cache current unmanaged index
when waiting for unmanaged threads. This caused
erts_thr_progress_unmanaged_delay() to stop working until a new leader
took over.
|
|
|
|
* lukas/erts/epmd_xmllint_fix:
epmd: Fix xmllint error in comsummary
|
|
|
|
* lukas/erts/fix_signalhandler_errno_restore/OTP-13868:
erts: Fix child setup signal hander bug
|
|
|