aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
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-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/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-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 '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-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-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-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.
2011-08-24Merge branch 'anders/diameter/augment_inherited_enums/OTP-9469' into devAnders Svensson
* anders/diameter/augment_inherited_enums/OTP-9469: Allow @enum when AVP is defined in an inherited dictionary.
2011-08-24Merge branch 'anders/diameter/optional_appid_in_spec/OTP-9467' into devAnders Svensson
* anders/diameter/optional_appid_in_spec/OTP-9467: @id required in dictionary files only when @messages is specified.
2011-08-24Merge branch 'hw/update-chmod-without-f' into devHenrik Nord
* hw/update-chmod-without-f: Again: Call chmod without the "-f" flag OTP-9491
2011-08-24Merge branch 'ao/fix-percept-msgs' into devHenrik Nord
* ao/fix-percept-msgs: Fix message handling in select requests Add demonitor to avoid keeping DOWN message in the queue OTP-9490
2011-08-24Fix message handling in select requestsAhmed Omar
percept_db used to send results in untagged messages, and use a non selective receive to extract them. When percept is used from the shell process, this can confuse other messages with the actual result. Add a tag to the message to be {result, Result}.
2011-08-24Add demonitor to avoid keeping DOWN message in the queueAhmed Omar
fix one spec in do_start/0
2011-08-24Merge branch 'sa/dialyzer-server-loop-fix' into devHenrik Nord
* sa/dialyzer-server-loop-fix: Fix server loop detection OTP-9489
2011-08-23fix supervisors restarting temporary childrenFred Hebert
In the current implementation of supervisors, temporary children should never be restarted. However, when a temporary child is restarted as part of a one_for_all or rest_for_one strategy where the failing process is not the temporary child, the supervisor still tries to restart it. Because the supervisor doesn't keep some of the MFA information of temporary children, this causes the supervisor to hit its restart limit and crash. This patch fixes the behaviour by inserting a clause in terminate_children/2-3 (private function) that will omit temporary children when building a list of killed processes, to avoid having the supervisor trying to restart them again. Only supervisors in need of restarting children used the list, so the change should be of no impact for the functions that called terminate_children/2-3 only to kill all children. The documentation has been modified to make this behaviour more explicit.
2011-08-23Merge branch 'gs/yecc-example' into devHenrik Nord
* gs/yecc-example: Fix incorrect order of pseudo variables in yecc example OTP-9484