aboutsummaryrefslogtreecommitdiffstats
path: root/lib/sasl/src
AgeCommit message (Collapse)Author
2015-05-28Customize SASL error_logger file opening modesSerge Aleynikov
Include the ability to open a SASL error log file in append mode at startup vs currently implemented "rewrite-always" mode.
2014-10-20[sasl] Remove undocumented upgrade instructionSiri Hansen
The upgrade instruction 'remove_module' was added in OTP R7B (and possibly in a patch in R5B or R6B, ticket OTP-3477), and translates to the low level instruction 'remove', but adds the parameter DepMods (modules on which Mod is dependent). The ticket says that "remove_module should be added for symmetry with the add_module instruction". remove_module was never documented or tested, and it was never mentioned in a release note. It therefore seems to be low risk in removing it. The correct instruction to use when removing a module is {delete_module,Mod} which was added in OTP R10B and which is also documented and tested. This translates to low level instructions 'remove' and 'purge' i.e. the module is brutally purged after setting the current code to old. This hardcoded brutal purge is the reason why PrePurge and PostPurge parameters can not be given with the delete_module instruction. The parameter DepMods which was inclued in the remove_module instruction does not exist for delete_module. From the documentation's point of view, this is the same for add_module, and thus the two instructions {add_module,Mod} and {delete_module,Mod} are now symmetric. However, in the code there is a second instruction for adding a module, {add_module,Mod,DepMods}, which is not documented. To add symmetry even for this, {delete_module,Mod,DepMods} is now also added. Documentation is added for all instructions.
2014-04-22Update kernel, stdlib and sasl appup files for Erlang/OTP-18Siri Hansen
2014-03-26Merge branch 'dumbbell/function_clause-in-systools_make-format_error'Siri Hansen
* dumbbell/function_clause-in-systools_make-format_error: sasl: Fix crash in systools_make:format_error/1 OTP-11819
2014-03-24sasl: Fix crash in systools_make:format_error/1Jean-Sébastien Pédron
The crash occurred when systools:make_script/2 raises the 'duplicate_modules' error. Depending on the 'silent' option, systools_make:format_error/1 is called to either format and display an error message, or return a tuple containing the error properties. When displaying a 'duplicate_modules' error message, format_error/1 receives a list of applications providing the same module(s): [ {{Mod,App1,_}, {Mod,App2,_}}, ... ] However, before this fix, format_error/1 expected the following structure, leading to a 'function_clause' exception: [ {{Mod,_,App1,_,_}, {Mod,_,App2,_,_}}, ... ] The crash never occurred with the 'silent' option, because the error and its properties are returned as is to the caller.
2014-03-20Introduce runtime_dependencies in .app filesRickard Green
Most dependencies introduced are exactly the dependencies to other applications found by xref. That is, there might be real dependencies missing. There might also be pure debug dependencies listed that probably should be removed. Each application has to be manually inspected in order to ensure that all real dependencies are listed. All dependencies introduced are to application versions used in OTP 17.0. This since the previously used version scheme wasn't designed for this, and in order to minimize the work of introducing the dependencies.
2014-02-20Merge branch 'siri/restart_app-type/OTP-11716'Siri Hansen
* siri/restart_app-type/OTP-11716: [sasl] Use restart type from .rel when restarting apps during upgrade
2014-02-18[sasl] Use restart type from .rel when restarting apps during upgradeSiri Hansen
Earlier the 'restart_application' upgrade instruction always cause the application to be restarted as permanent. This could cause the system to end up in an unexpected state after an upgrade. This is now corrected.
2014-02-12Update appups and appup tests for kernel, stdlib and saslSiri Hansen
Appups now only support one major release back, and the tests are updated accordingly. Support is also added in tests for giving previous releases in a ct config file, e.g. {otp_releases,[{r15,"/path/to/r15/bin/erl"}, {r16,"/path/to/r16/bin/erl"}, {'17',"/path/to/17/bin/erl"}]}.
2013-12-05Merge branch 'maint'Raimo Niskanen
2013-12-03Fix boot file generation for intermediate releases.Tobias Schlager
A previous refactoring messed up the paths used in the start.boot file used in intermediate releases generated for emulator upgrades.
2013-11-29Merge branch 'maint'Dan Gudmundsson
Conflicts: erts/etc/win32/Install.c
2013-11-29Merge branch 'dgud/sasl/no_dot_erlang_boot/OTP-8479' into maintDan Gudmundsson
* dgud/sasl/no_dot_erlang_boot/OTP-8479: sasl: Add no_dot_erlang documentation and tests sasl: Add no_dot_erlang start script
2013-11-07Merge branch 'maint'Fredrik Gustafsson
2013-10-16Don't try to add the log_mf_h handler in sasl unless configured to do so.Richard Carlsson
The functions add_error_logger_mf/1 and delete_error_logger_mf/1 in sasl.erl are designed to do nothing if the handler configuration as returned by get_error_logger_mf/0 is 'undefined'. However, that function returns a triple {undefined,undefined,undefined} when the error_logger_mf_* configurations have not been set. This makes SASL always try to add the log_mf_h handler on startup, passing 'undefined' for each of the Dir, MaxB and MaxF parameters. The gen_event callback function log_mf_h:init/1 will then crash with a function_clause error, causing the handler to be silently removed again. This patch fixes the problem by making get_error_logger_mf/0 return the single atom 'undefined' as it is expected to do.
2013-10-03sasl: Add no_dot_erlang start scriptDan Gudmundsson
Sometimes it is wanted to start erlang without loading the user dependent .erlang file, for example in scripts and configure tests.
2013-08-23Merge branch 'maint'Fredrik Gustafsson
2013-07-13Add Fd usage in rb loggingcrownedgrouse
rb was only accepting physical filenames as log file. This patch allow rb to accept now any io_device, valid registered name, except standard_error which is replaced by standard_io. Creation of two new exported functions : rb:log_list/0-1 that print in log file if existing, otherwise on standard_io. Add new functions documentation and tests in rb_SUITE.
2013-06-05Merge branch 'siri/unmatched_returns/OTP-10908'Siri Hansen
* siri/unmatched_returns/OTP-10908: Fix unmatched_return warnings in release_handler
2013-06-05Merge branch 'siri/install-otp-in-unicode-path'Siri Hansen
* siri/install-otp-in-unicode-path: [sasl] Remove priv dir after release_handler_SUITE Update preloaded init.beam Allow unicode characters for boot and config in init:make_permanent [sasl] Clean priv_dir after systools_SUITE [reltool] Use unicode characters in work dir for unicode test [sasl] Use unicode characters in priv dir name also on windows [reltool] Write erl.ini as UTF-8 [sasl] Update tests to run under unicode path [sasl] Rewrite release_handler_SUITE:clean_priv_dir to work on unicode paths [sasl] Update example/target_system.erl to handle unicode [sasl] Write erl.ini as utf8, allowing unicode path for root dir and bin dir
2013-06-05Merge branch 'siri/spawn-and-space'Siri Hansen
* siri/spawn-and-space: [sasl] In test, quote erlsrv executable in call to open_port/2 [test_server] Quote path to erl executable when starting slave nodes Quote path to erl executable in slave to allow space in path [sasl] Quote path to program run with open_port({spawn,... [os_mon] Quote path to programs run with open_port({spawn,... Conflicts: lib/os_mon/src/nteventlog.erl
2013-06-04Merge branch 'dgud/win32_unicode'Dan Gudmundsson
* dgud/win32_unicode: erts: Windows, convert erlsrv to use widestring erts: Window start_erl now uses widechars/unicode Quote windows paths with spaces Handle space in paths in test Makefiles erts: Fix windows widestring args and paths in tools erts: Windows, use widechars for all paths during startup OTP-11135
2013-06-03Merge branch 'maint'Fredrik Gustafsson
2013-05-31Fix unmatched_return warnings in release_handlerSiri Hansen
2013-05-28Fix receive support in erl_eval with a BEAM moduleAnthony Ramine
Using the low-level BEAM instructions, we can loop over each message in the process queue and removes the first message that matches, without receiving them all to later send them back to itself. The function prim_eval:'receive'/2 is equivalent to the following pseudo-code: 'receive'(F, T) -> RESET MESSAGE QUEUE POINTER, LOOP: case PEEK CURRENT MESSAGE WITH TIMEOUT T of {ok,Msg} -> case F(Msg) of nomatch -> DECREMENT TIMEOUT T, ADVANCE MESSAGE QUEUE POINTER, GOTO LOOP; Result -> RESET MESSAGE QUEUE POINTER, Result end; timeout -> RESET MESSAGE QUEUE POINTER, timeout end. To not break Dialyzer and other tools, we use a stub Erlang module which abstract code is forcefully inserted into prim_inet.erl afterwards compilation.
2013-05-20erts: Windows, convert erlsrv to use widestringDan Gudmundsson
2013-05-20Quote windows paths with spacesDan Gudmundsson
2013-05-14[sasl] Write erl.ini as utf8, allowing unicode path for root dir and bin dirSiri Hansen
2013-05-06Fix unmatched_return warnings in saslSiri Hansen
2013-04-19Remove the "coding: utf-8" comment from all Erlang source filesHans Bolinder
2013-04-15Update sasl version and sasl.appup.src for R17Siri Hansen
Also clean up appup_test in sasl_SUITE by removing old versions that are no longer used.
2013-04-03[sasl] Quote path to program run with open_port({spawn,...Siri Hansen
This is to allow space in the path.
2013-02-22Update copyright yearsBjörn-Egil Dahlberg
2013-02-22[sasl] Adapt release handling mechanisms to unicodeSiri Hansen
* Update systool_lib:read_term/1 to honour magic encoding comment in file. * Add unicode option to re:compile and re:run when appropriate, allowing e.g. unicode filenames. * systools_make to allow unicode strings in .rel and .app files
2013-02-13si_sasl_supp: Eliminate use of tuple funBjörn Gustavsson
2013-02-04Update sasl.appup.src with R16 release and remove R13 versionsSiri Hansen
2013-01-25Update copyright yearsBjörn-Egil Dahlberg
2013-01-23Turn warnings to errors on selected applicationsBjörn Gustavsson
2013-01-18Merge branch 'nox/enable-silent-rules/OTP-10726'Björn-Egil Dahlberg
* nox/enable-silent-rules/OTP-10726: Implement ./otp_build configure --enable-silent-rules
2013-01-15Implement ./otp_build configure --enable-silent-rulesAnthony Ramine
With silent rules, the output of make is less verbose and compilation warnings are easier to spot. Silent rules are disabled by default and can be disabled or enabled at will by make V=0 and make V=1.
2013-01-09sasl: Remove support for packagesBjörn Gustavsson
2013-01-09Prepare OTP files for Unicode as default encodingHans Bolinder
2012-12-07Merge branch 'rickard/port-optimizations/OTP-10336' into ↵Rickard Green
rickard/r16/port-optimizations/OTP-10336 * rickard/port-optimizations/OTP-10336: Change annotate level for emacs-22 in cerl Update etp-commands Add documentation on communication in Erlang Add support for busy port message queue Add driver callback epilogue Implement true asynchronous signaling between processes and ports Add erl_drv_[send|output]_term Move busy port flag Use rwlock for driver list Optimize management of port tasks Improve configuration of process and port tables Remove R9 compatibility features Use ptab functionality also for ports Prepare for use of ptab functionality also for ports Atomic port state Generalize process table implementation Implement functionality for delaying thread progress from unmanaged threads Conflicts: erts/doc/src/erl_driver.xml erts/doc/src/erlang.xml erts/emulator/beam/beam_bif_load.c erts/emulator/beam/beam_bp.c erts/emulator/beam/beam_emu.c erts/emulator/beam/bif.c erts/emulator/beam/copy.c erts/emulator/beam/erl_alloc.c erts/emulator/beam/erl_alloc.types erts/emulator/beam/erl_bif_info.c erts/emulator/beam/erl_bif_port.c erts/emulator/beam/erl_bif_trace.c erts/emulator/beam/erl_init.c erts/emulator/beam/erl_message.c erts/emulator/beam/erl_port_task.c erts/emulator/beam/erl_process.c erts/emulator/beam/erl_process.h erts/emulator/beam/erl_process_lock.c erts/emulator/beam/erl_trace.c erts/emulator/beam/export.h erts/emulator/beam/global.h erts/emulator/beam/io.c erts/emulator/sys/unix/sys.c erts/emulator/sys/vxworks/sys.c erts/emulator/test/port_SUITE.erl erts/etc/unix/cerl.src erts/preloaded/ebin/erlang.beam erts/preloaded/ebin/prim_inet.beam erts/preloaded/src/prim_inet.erl lib/hipe/cerl/erl_bif_types.erl lib/kernel/doc/src/inet.xml lib/kernel/src/inet.erl
2012-12-07Implement true asynchronous signaling between processes and portsRickard Green
2012-10-03Fix release_handler:find_script so it can read regexp in appupsSiri Hansen
2012-09-13Don't allow {Mod,Vsn} in modules list in .app fileSiri Hansen
It was possible to insert {Mod::atom(),Vsn::term()} instead of Mod::atom() in the modules list in a .app file. This was not visible in the documentation of .app files, but it was visible in the documentation of application:load/[1,2] (where the .app file term can be used directly as first argument). The Vsn part was never used, so this possibility has now been removed.
2012-08-31Update copyright yearsBjörn-Egil Dahlberg
2012-06-05Update to work with whitespace in exec pathLukas Larsson
OTP-10106 OTP-10107
2012-03-30Update copyright yearsBjörn-Egil Dahlberg
2012-03-23Merge branch 'jc/omit-undefined-start_phases-3' into maintSiri Hansen
* jc/omit-undefined-start_phases-3: Avoid undefined start_phases entry in .script Avoid creating an undefined start_phases entry when generating a release OTP-10003