Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* bjorn/fix-on_load/OTP-12593:
Update documentation regarding improvements
Correctly handle multiple load attempts when on_load is pending
Avoid deadlock when an on_load function makes an external call to the module itself
code_server: Eliminate unnecessary Tag in handle_call/3
Reimplement -on_load()
Refactor erts_finish_loading() and insert_new_code()
code_SUITE: Make on_load_binary/1 clearer by using merl
|
|
|
|
|
|
* rickard/fix-sched-sys-task/OTP-13047:
Fix scheduling of system tasks
|
|
* rickard/reds-fix/master/OTP-13512:
Ensure correct reduction counting
|
|
|
|
* raimo/polish-gen_statem/OTP-13065:
Fix documentation
Clean up terminate functions
Fix callback mode after code change not used
Restructure loop_* to clarify S handling
|
|
|
|
|
|
Add extra space for ":" which is not accounted for size calculation.
|
|
Without this change, one test (bs_utf) times out when run on some
very slow SUN/SPARC machine we still have around. Unfortunately,
this is the only such machine that we have access to these days.
Perhaps suprisingly, all the HiPE tests pass on SPARC, which is
nice to know that this backend still works, despite not having
been tested for more than one (almost two?) years now.
|
|
* lemenkov/crash_dump_while_dist_error/PR-947/OTP-13474:
Add patch to crash dump on large distribution
|
|
* vladdu/jinterface_pom/ERL-67/PR-1005/OTP-13482:
jinterface: updated pom.xml.src
|
|
Causes error reports on wxWidgets-3.1 backend
|
|
Could crash if interval was updated before node was set.
|
|
Bug introduced in bde2d01506a63, does work on linux but not on
the other OS's.
|
|
Memory table was flickering badly on Windows, caused by constant
refresh sent. Solve by letting the graphs have it's own parent.
wxWindow:setDoubleBuffer could help but causes an empty table
with the current version of wxWidgets backend.
|
|
If one of several alternatives configurations are required for
an Erlang module to compile, but none are available, it would
be useful to give a nice error message. For example:
-ifdef(CONFIG_A).
%% Some code if A is true.
-else.
-ifdef(CONFIG_B).
%% Some code if B is true.
-else.
-error("Neither CONFIG_A nor CONFIG_B are available").
-endif.
-endif.
If neither CONFIG_A nor CONFIG_B are defined, the error message
will be:
module.erl:10: -error("Neither CONFIG_A nor CONFIG_B are available").
That is basically the same behavior as for the #error directive in
GCC.
For symmetry with the -error directive, add the -warning
directive to generate a compiler warning. For example:
-ifdef(HAVE_COOL_FEATURE).
%% Code if we have Cool Feature.
-else.
%% Inefficient fallback code.
-warning("Using inefficient fallback").
-endif.
If HAVE_COOL_FEATURE is not defined, the warning message will
be:
module.erl:8: Warning: -warning("Using inefficient fallback").
That is basically the same behavior as for the #warning directive
in GCC.
Conflicts:
lib/stdlib/src/epp.erl
lib/stdlib/test/epp_SUITE.erl
|
|
scan_include_lib/4 uses a helper function find_lib_dir/1, which has a
strange interface. It takes a string and returns a tuple. The caller
must match the tuple and call fname_join/1 to obtain the desired
result. I assume that the strange interface was not noticed because
the function is only used in one place.
Replace the find_lib_dir/1 with a new expand_lib_dir/1 function which
does the entire job in one go. The new function is much easier to
reuse in other places, which we might want to do in a future commit.
|
|
* hasse/dialyzer_optimizations/OTP-10349:
hipe: Use maps for unification and substitution
dialyzer: Use maps instead of dict
dialyzer: Optimize the evaluation of SCC:s in module typesig
|
|
|
|
Optimization: A few dictionaries are maps instead of dicts.
|
|
The evaluation of a single SCC has been optimized.
The parallelism when evaluating a single SCC has been removed.
|
|
The combination of the use of the exit() function without including
<stdlib.h> together with the option -Werror=implicit-function-declaration
causes the compilation (and the 'make') to fail on SUN/SPARC with gcc 4.9.3.
|
|
Conflicts:
OTP_VERSION
lib/common_test/test/ct_hooks_SUITE_data/cth/tests/ct_update_config_SUITE.erl
lib/common_test/vsn.mk
|
|
|
|
|
|
|
|
* ingela/ssl-gen-statem/OTP-13464:
ssl: Adapt DTLS to gen_statem
ssl: Use gen_statem instead of gen_fsm
|
|
* ingela/ssl_verify_SUITE/cuddle:
ssl: Correct and clean test suite
|
|
Active option was not handled correctly in all places. Dead code has
been removed.
|
|
To avoid failing on slow machines
|
|
If an on_load function had not yet returned, the code server
would only correctly handle calls to code:ensure_loaded/1. That
is, each process that called code:ensured_loaded/1 for the
module in question would be suspended until the on_load function
had returned.
The code server handled calls to code:load_binary/1, code:load_file/1,
and code:load_abs/1 in the same way as for code:ensure_loaded/1.
That means that if call to one those functions attempted to load
*different* code for the module, that code would not get loaded.
Note that code:finish_loading/1 (code:atomic_load/1) will still return
{error,pending_on_load} if there is a pending on_load function for one
of the modules that are about to be loaded. The reason is that
code:finish_loading/1 is meant to either succeed directly, or fail
quickly if there is any problem.
|
|
itself
|
|
For historical reasons, the second argument in handle_call/3 is
{Pid,Tag}. The tag is always 'call' and is never used.
|
|
Load the module as old code; swap old and new code if the
-on_load function succeeds. That way, a failed update attempt
for a module that has an -on_load function will preserve the
previous version of the code.
|
|
* siri/cuddle-master:
Extend timer in test
Update crashdump_viewer_SUITE with new release numbers
Set longer timetrap when creating dsa files
Check that ssh application exists before starting netconf tests
Improve error control when starting ssh in netconf test
|
|
* legoscia/dist-shutdown-reasons/PR-1028/OTP-13458:
Error reasons for more distribution errors
|
|
* zandra/optimize-rpc/OTP-13518:
use maps instead of gb_trees to optimize the rpc server
let the spawned processes handle rpc replies
Conflicts:
lib/runtime_tools/test/dbg_SUITE.erl
|
|
* zandra/erl_distribution_SUITE-cuddle:
update monitor_nodes_otp_6481_test-we only guarantee message order
increase timeout since the old one risked flapping test
remove no_msg timeout, since its not needed and cause flapping
|
|
* experimental/correct_dialyzer_spelling/PR-1007/OTP-13544:
Correct mispelling in Dialyzer's acronym definition
|
|
Taken from the OTP test suites and changed accordingly for HiPE.
Used to be problematic in the tests that matched against a segment
of 'bad_size'. This was corrected in the BEAM compiler for OTP 19.
|
|
|