Age | Commit message (Collapse) | Author |
|
|
|
|
|
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
|
|
|
|
* lukas/erts/tracing/fix_sparc_align_issue/OTP-13803:
erts: Immed tracer states also have to be alignable
|
|
|
|
|
|
* bjorn/floor-ceiling/OTP-13692:
Add math:floor/1 and math:ceil/1
Implement the new ceil/1 and floor/1 guard BIFs
|
|
Add math:floor/1 and math:ceil/1 to avoid unnecessary conversions
in floating point expressions. That is, instead of having to write
float(floor(X)) as part of a floating point expressions, we can
write simply math:floor(X).
|
|
Implement as ceil/1 and floor/1 as new guard BIFs (essentially part of
Erlang language). They are guard BIFs because trunc/1 is a guard
BIF. It would be strange to have trunc/1 as a part of the language, but
not ceil/1 and floor/1.
|
|
* bjorn/erts/help-clang:
Slightly reduce code size of process_main()
|
|
* maint:
Introduce literal sweep of native stack in new purge strategy
|
|
|
|
* bjorn/eliminate-sys_pre_expand/OTP-13856:
Remove sys_pre_expand
xref: Eliminate use of sys_pre_expand
debugger: Eliminate use of sys_pre_expand
compiler: Eliminate use of sys_pre_expand
shell_SUITE: Eliminate references to sys_pre_expand in comments
qlc_pt: Simplify code because of updated erl_expand_records
Teach erl_expand_records to translate module-less calls
erl_internal: Add add_predefined_functions/1
cover: Remove always stale comment
|