Age | Commit message (Collapse) | Author |
|
|
|
Because a simple_one_for_one supervisor can have many workers, we stack
errors during its shutdown to report only one message for each encountered
error type. Instead of reporting the child's pid, we use the number of
concerned children.
|
|
According to the supervisor's documentation:
"Important note on simple-one-for-one supervisors: The dynamically
created child processes of a simple-one-for-one supervisor are not
explicitly killed, regardless of shutdown strategy, but are expected
to terminate when the supervisor does (that is, when an exit signal
from the parent process is received)."
All is fine as long as we stop simple_one_for_one supervisor manually.
Dynamic children catch the exit signal from the supervisor and leave.
But, if this happens when we stop an application, after the top
supervisor has stopped, the application master kills all remaining
processes associated to this application. So, dynamic children that trap
exit signals can be killed during their cleanup (here we mean inside
terminate/2). This is unpredictable and highly time-dependent.
In this commit, supervisor module is patched to explicitly terminate
dynamic children accordingly to the shutdown strategy.
NOTE: Order in which dynamic children are stopped is not defined. In
fact, this is "almost" done at the same time.
|
|
* hb/kernel/zlib_contracts/OTP-9506:
Update documentation and specifications of some of the zlib functions
|
|
The functions zlib:deflateSetDictionary/2 and zlib:inflateSetDictionary/2
accept iodata() as Dictionary.
The functions zlib:crc32/2,3, zlib:adler32/2,3, zlib:compress/1,
zlib:uncompress/1, zlib:zip/1, and zlib:unzip/1 accept iodata() as
data.
|
|
* bjorn/deprecate-docbuilder/OTP-9509:
Deprecate the docbuilder application
|
|
* bjorn/erts/old-code-checking-improvements/OTP-9495:
Make the check_old_code/1 BIF auto-imported
|
|
* ia/odbc/stored-procedures-does-not-cleanup/OTP-9444:
When using output parameters the internal odbc state was not correctly cleaned causing the next call to param_query to missbehave.
|
|
cleaned causing the next call to param_query to missbehave.
Also corrected some test code
|
|
* lukas/test_server/fix_suite_compile_error/OTP-9517:
Move test_server_test_lib.hrl to test release dir
|
|
* hb/spec_improvements/OTP-9485:
Improve and correct types and specifications in Kernel and STDLIB
|
|
* lukas/common_test/cth_prio/OTP-9445:
Fix a couple of minor bugs with hook priority
Update to reflect addition of CTH priority addition
Update CTH priority default to be 0
Update to reflect new cth callback api
Update the return from init/2 to be {ok, NewState} or {ok,NewState,Priority} instead of NewState.
Add priority functionality and tests for ct hooks
Update internal hooks state to use a record instead of tuples
|
|
* rc/stdlib-edoc-fix:
fix broken edoc annotations
OTP-9516
|
|
* pl/no_bat_files_none_win32:
Do not install *.bat files on non-win32 machines
OTP-9515
|
|
* fm/gen_tcp_udp_doc_packet_type:
Fix type of Packet arg of gen_tcp:send/2 and gen_udp:send/4
OTP-9514
|
|
* ta/wx-obsolete-guard:
wx: fix obsolete guard warning (list/1)
OTP-9513
|
|
* ta/configure-fdatasync:
Document fdatasync -lrt requirement (SunOS <= 5.10)
Move fdatasync autoconf checks to proper place
OTP-9512
|
|
* ta/hipe_cleanup:
Clean up hipe.hrl.src (Signed-off-by: Kostis)
OTP-9511
|
|
|
|
check_old_code/1 was documented to be auto-imported, but in fact
was not auto-imported. Since check_process_code/2 and the other
code loading BIFs are now auto-imported, for consistency auto-import
check_old_code/1 too.
|
|
|
|
* ia/ssl/use-inet-and-gen-specs:
Use inet and gen_* dialyzer specs
|
|
|
|
The bugs caused the sorting priority to be wrong when using
installed priority and built in priority. Tests to prove the
order of hooks to be correct have also been added.
|
|
|
|
|
|
|
|
instead of NewState.
NewState can still be returned, but is only kept for backward compatability reasons.
|
|
Priority allows the user of ct hooks to specify which order the hooks should execute in. The priority of a hook is specified when installing the hook, and stays the same for both pre and post hooks
|
|
|
|
Running Dialyzer on the test suites revealed a few type errors.
|
|
* ia/ssl/error_logger-info_report-args:
Corrected input argument to error_logger:error_report/1
|
|
|
|
* rc/eunit-2.2.0:
Updated to EUnit version 2.2.0
OTP-9505
|
|
New macros assertNotMatch(Guard, Expr), assertNotEqual(Unexpected, Expr),
and assertNotException(Class, Term, Expr).
The debugMsg macro now also prints the pid of the current process.
When testing all modules in a directory, tests in <Module>_tests.erl are
no longer executed twice.
The use of 'regexp' internally has been replaced with 're'.
|
|
* fk/ref_manual_fix:
Fix non-existing function (erlang:disconnect/1) in distributed reference manual
OTP-9504
|
|
* ta/teach_emacs_yecc_and_leex_compile:
Teach the emacs mode to compile yecc and leex files
OTP-9503
|
|
If visiting a .yrl or .xrl file in emacs with erlang-mode,
then the `erlang-compile' function (normally bound to C-c C-k),
now knows how to compile yecc and leex files, and then, if that
compilation succeeds, also compiles the resulting .erl files.
Also introduce a `erlang-compile-command-function-alist'
to make it possible to hook in other functions for computing
compilation commands/expressions, depending on file name.
|
|
OTP-9502
|
|
* ms/epmd-fix-compiler-warnings:
epmd: fix compiler warnings
OTP-9500
|
|
* rz/add_proplist_type:
Add a proplist() type
OTP-9499
|
|
* ml/two-trivial-documentation-fixes:
Fix trivial documentation errors
OTP-9498
|
|
* ia/odbc/more-driver-issues:
Skip utf8 test case on linux 64 due to old driver
|
|
The type is marked as a binary() or a string() but in practice it can
be an iodata(). The test suite was updated to confirm the gen_tcp/2
and gen_udp:send/4 functions accept iodata() (iolists) packets.
|
|
When the test environment supports a newer Postgres driver,
(newer than psqlODBC 08.04.0200) the utf8 test case should work
as expected and can be enabled again.
|
|
* hb/inet_types_and_specs/OTP-9260:
Improve types and specifications of the inet modules
|
|
* bjorn/erts/old-code-checking-improvements/OTP-9495:
code: Optimize purge/1 and soft_purge/1 using check_old_code/1
Add erlang:check_old_code/1
check_process_code/2: Quickly return 'false' if there is no old code
|
|
While at it, eliminate an unnecessary use of throw/catch in the
implementation of soft_purge/1.
|
|
|
|
Add erlang:check_old_code/1 to quickly check whether a module
has old code. If there is no old code, there is no need to call
erlang:check_process_code/2 for all processes, which will save
some time if there are many processes.
|