aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2011-09-16Explain how dynamic child processes are stoppedChristopher Faulet
2011-09-16Stack errors when dynamic children are stoppedChristopher Faulet
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.
2011-09-16Explicitly kill dynamic children in supervisorsChristopher Faulet
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.
2011-09-02Merge branch 'hb/kernel/zlib_contracts/OTP-9506' into devHans Bolinder
* hb/kernel/zlib_contracts/OTP-9506: Update documentation and specifications of some of the zlib functions
2011-09-02Update documentation and specifications of some of the zlib functionsHans Bolinder
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.
2011-09-02Merge branch 'bjorn/deprecate-docbuilder/OTP-9509' into devBjörn Gustavsson
* bjorn/deprecate-docbuilder/OTP-9509: Deprecate the docbuilder application
2011-09-02Merge branch 'bjorn/erts/old-code-checking-improvements/OTP-9495' into devBjörn Gustavsson
* bjorn/erts/old-code-checking-improvements/OTP-9495: Make the check_old_code/1 BIF auto-imported
2011-09-02Merge branch 'ia/odbc/stored-procedures-does-not-cleanup/OTP-9444' into devIngela Anderton Andin
* 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.
2011-09-02When using output parameters the internal odbc state was not correctlyIngela Anderton Andin
cleaned causing the next call to param_query to missbehave. Also corrected some test code
2011-09-02Merge branch 'lukas/test_server/fix_suite_compile_error/OTP-9517' into devLukas Larsson
* lukas/test_server/fix_suite_compile_error/OTP-9517: Move test_server_test_lib.hrl to test release dir
2011-09-02Merge branch 'hb/spec_improvements/OTP-9485' into devHans Bolinder
* hb/spec_improvements/OTP-9485: Improve and correct types and specifications in Kernel and STDLIB
2011-09-01Merge branch 'lukas/common_test/cth_prio/OTP-9445' into devLukas Larsson
* 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
2011-09-01Merge branch 'rc/stdlib-edoc-fix' into devHenrik Nord
* rc/stdlib-edoc-fix: fix broken edoc annotations OTP-9516
2011-09-01Merge branch 'pl/no_bat_files_none_win32' into devHenrik Nord
* pl/no_bat_files_none_win32: Do not install *.bat files on non-win32 machines OTP-9515
2011-09-01Merge branch 'fm/gen_tcp_udp_doc_packet_type' into devHenrik Nord
* fm/gen_tcp_udp_doc_packet_type: Fix type of Packet arg of gen_tcp:send/2 and gen_udp:send/4 OTP-9514
2011-09-01Merge branch 'ta/wx-obsolete-guard' into devHenrik Nord
* ta/wx-obsolete-guard: wx: fix obsolete guard warning (list/1) OTP-9513
2011-09-01Merge branch 'ta/configure-fdatasync' into devHenrik Nord
* ta/configure-fdatasync: Document fdatasync -lrt requirement (SunOS <= 5.10) Move fdatasync autoconf checks to proper place OTP-9512
2011-09-01Merge branch 'ta/hipe_cleanup' into devHenrik Nord
* ta/hipe_cleanup: Clean up hipe.hrl.src (Signed-off-by: Kostis) OTP-9511
2011-09-01Move test_server_test_lib.hrl to test release dirLukas Larsson
2011-09-01Make the check_old_code/1 BIF auto-importedBjörn Gustavsson
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.
2011-09-01Deprecate the docbuilder applicationBjörn Gustavsson
2011-08-31Merge branch 'ia/ssl/use-inet-and-gen-specs' into devIngela Anderton Andin
* ia/ssl/use-inet-and-gen-specs: Use inet and gen_* dialyzer specs
2011-08-31Use inet and gen_* dialyzer specsIngela Anderton Andin
2011-08-31Fix a couple of minor bugs with hook priorityLukas Larsson
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.
2011-08-31Update to reflect addition of CTH priority additionLukas Larsson
2011-08-31Update CTH priority default to be 0Lukas Larsson
2011-08-31Update to reflect new cth callback apiLukas Larsson
2011-08-31Update the return from init/2 to be {ok, NewState} or {ok,NewState,Priority} ↵Lukas Larsson
instead of NewState. NewState can still be returned, but is only kept for backward compatability reasons.
2011-08-31Add priority functionality and tests for ct hooksLukas Larsson
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
2011-08-31Update internal hooks state to use a record instead of tuplesLukas Larsson
2011-08-31Improve and correct types and specifications in Kernel and STDLIBHans Bolinder
Running Dialyzer on the test suites revealed a few type errors.
2011-08-30Merge branch 'ia/ssl/error_logger-info_report-args' into devIngela Anderton Andin
* ia/ssl/error_logger-info_report-args: Corrected input argument to error_logger:error_report/1
2011-08-30Corrected input argument to error_logger:error_report/1Ingela Anderton Andin
2011-08-30Merge branch 'rc/eunit-2.2.0' into devHenrik Nord
* rc/eunit-2.2.0: Updated to EUnit version 2.2.0 OTP-9505
2011-08-30Updated to EUnit version 2.2.0Richard Carlsson
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'.
2011-08-30Merge branch 'fk/ref_manual_fix' into devHenrik Nord
* fk/ref_manual_fix: Fix non-existing function (erlang:disconnect/1) in distributed reference manual OTP-9504
2011-08-30Merge branch 'ta/teach_emacs_yecc_and_leex_compile' into devHenrik Nord
* ta/teach_emacs_yecc_and_leex_compile: Teach the emacs mode to compile yecc and leex files OTP-9503
2011-08-30Teach the emacs mode to compile yecc and leex filesTomas Abrahamsson
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.
2011-08-30Merge branch 'ft/fix_supervisor_temporary_restart' into devHenrik Nord
OTP-9502
2011-08-30Merge branch 'ms/epmd-fix-compiler-warnings' into devHenrik Nord
* ms/epmd-fix-compiler-warnings: epmd: fix compiler warnings OTP-9500
2011-08-29Merge branch 'rz/add_proplist_type' into devHenrik Nord
* rz/add_proplist_type: Add a proplist() type OTP-9499
2011-08-29Merge branch 'ml/two-trivial-documentation-fixes' into devHenrik Nord
* ml/two-trivial-documentation-fixes: Fix trivial documentation errors OTP-9498
2011-08-29Merge branch 'ia/odbc/more-driver-issues' into devIngela Anderton Andin
* ia/odbc/more-driver-issues: Skip utf8 test case on linux 64 due to old driver
2011-08-27Fix type of Packet arg of gen_tcp:send/2 and gen_udp:send/4Filipe David Manana
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.
2011-08-26Skip utf8 test case on linux 64 due to old driverIngela Anderton Andin
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.
2011-08-26Merge branch 'hb/inet_types_and_specs/OTP-9260' into devHans Bolinder
* hb/inet_types_and_specs/OTP-9260: Improve types and specifications of the inet modules
2011-08-26Merge branch 'bjorn/erts/old-code-checking-improvements/OTP-9495' into devBjörn Gustavsson
* 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
2011-08-26code: Optimize purge/1 and soft_purge/1 using check_old_code/1Björn Gustavsson
While at it, eliminate an unnecessary use of throw/catch in the implementation of soft_purge/1.
2011-08-25Improve types and specifications of the inet modulesHans Bolinder
2011-08-25Add erlang:check_old_code/1Björn Gustavsson
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.