aboutsummaryrefslogtreecommitdiffstats
path: root/system/doc/design_principles
AgeCommit message (Collapse)Author
2014-11-24Merge branch 'maint'Marcus Arendt
2014-11-20Fix spelling and grammarDerek Brown
2014-11-06Merge branch 'siri/sasl/delete_module/OTP-11540'Siri Hansen
* siri/sasl/delete_module/OTP-11540: [sasl] Remove undocumented upgrade instruction
2014-11-06Add documentation of maps in supervisor flags and child specsSiri Hansen
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-05-05Merge branch 'essen/remove-pg'Siri Hansen
* essen/remove-pg: Remove the pg module and related documentation OTP-11907
2014-04-28Introduce the attribute -optional_callbacks in the context of behavioursHans Bolinder
2014-04-26Remove the pg module and related documentationLoïc Hoguin
This module has been marked experimental for more than 15 years, and has largely been superseded by the pg2 module from the kernel application. The original pg also has no tests and has not been updated in the last 15 years other than small maintenance edits (like adding specs or replacing pid/1 by is_pid/1). It is pretty unlikely that anyone uses it today and its presence is simply confusing as people should be using pg2 anyway.
2014-04-03Merge branch 'siri/doc-upgrade/OTP-11717'Siri Hansen
* siri/doc-upgrade/OTP-11717: Add documentation about upgrade Add info about upgrade of core applications
2014-04-02Add link to app resource file referenceMagnus Lidén
2014-03-28Add info about upgrade of core applicationsSiri Hansen
In ref man for appup and in system documentation, design prinsiples, add a warning related to upgrade when version of erts, kernel, stdlib or sasl is changed. This will cause an emulator restart where new version of emulator and core applications will startup together with old versions of other applications. Care must be taken to avoid problems due to backwards incompatibility.
2014-03-26refman: Clarify the '-callback' attributeHans Bolinder
2014-03-21remove tuple funs from special process documentationSteve Vinoski
Support for tuple funs was removed in R16B but the documentation for special processes, sys, and proc_lib in the OTP Design Principles still showed examples using them, and those examples no longer worked. Fix the examples to use regular functions instead and fix the documentation to reflect the changes.
2014-03-21fix sys:get_state/1,2 and sys:replace_state/2,3 when sys suspendedSteve Vinoski
Add two new system callbacks Module:system_get_state/1 and Module:system_replace_state/2 to allow sys:get_state/1,2 and sys:replace_state/2,3 to operate correctly even if a process is sys suspended. Modify gen_server, gen_fsm, and gen_event to support the new callbacks. If a callback module does not export these functions, then by default the Misc value (the same as that passed as the final argument to sys:handle_system_msg/6, and returned as part of the return value of sys:get_status/1,2) is treated as the callback module's state. The previous behaviour of intercepting the system message and passing a tuple of size 2 as the last argument to sys:handle_system_msg/6 is no longer supported. Add tests to verify the correctness of sys:get_state/1,2 and sys:replace_state/2,3 when processes are sys suspended. Add two tests for modules that implement special processes, one that exports system_get_state/1 and system_replace_state/2 and one that doesn't. Much of the credit for this patch goes to James Fish, who reported the initial problem and implemented much of the fix.
2014-01-24Merge branch 'zaa/docfix'Henrik Nord
* zaa/docfix: Typo fix OTP-11606
2014-01-03Typo fixAlexander Zhuravlev
Corrected a link to gen_fsm behaviour description.
2013-11-13Merge branch 'maint'Fredrik Gustafsson
2013-11-09fixed small typo (missing right parenthesis) in gen_fsm exampleBoris Mühmer
2013-06-12Update copyright yearsBjörn-Egil Dahlberg
2013-04-19Convert XML files to UTF-8Hans Bolinder
2013-04-08Remove unused Postscript filesHans Bolinder
2013-03-07Fix gen_fsm example codeTuncer Ayaz
2013-03-05Fix doc typos for R16B01Tuncer Ayaz
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-02-24Fix supervisor doc: Shutdown, MaxR and MaxT type specsRicardo Catalinas Jiménez
The next code snippets from supervisor.erl show that Shutdown from a child specification must be greater than zero and the same applies to MaxT. --- supervisor.erl ---------------------------------------------------------- validShutdown(Shutdown, _) when is_integer(Shutdown), Shutdown > 0 -> true; validShutdown(infinity, _) -> true; validShutdown(brutal_kill, _) -> true; validShutdown(Shutdown, _) -> throw({invalid_shutdown, Shutdown}). validIntensity(Max) when is_integer(Max), Max >= 0 -> true; validIntensity(What) -> throw({invalid_intensity, What}). validPeriod(Period) when is_integer(Period), Period > 0 -> true; validPeriod(What) -> throw({invalid_period, What}). -----------------------------------------------------------------------------
2012-02-21Merge branch 'rj/add-space-spec_proc-doc' into maintGustav Simonsson
2012-02-14Add missing white space in Special Process docRicardo Catalinas Jiménez
2012-02-08Fix typo in supervisor behaviour docRicardo Catalinas Jiménez
Remove unnecessary > from a CDATA section.
2011-12-09Update copyright yearsBjörn-Egil Dahlberg
2011-12-01Fix minor faults in documentation of release handlingSiri Hansen
Fix typos or minor faults. Move out code listing of target_system.erl, and use codeinclude statement to include this file from sasl/examples directory.
2011-11-18Merge branch 'siri/sasl/upgrade-erts/OTP-9438'Siri Hansen
* siri/sasl/upgrade-erts/OTP-9438: Fix bug in erts upgrade on windows Add release vsn info to erts_vsn_changed warning Check for sasl application in systools:make_script and make_relup Add syntax check of relup to check_install_release and install_release Add documentation for upgrade from pre R15 to post R15 sasl Handle upgrade from pre R15 to post R15 sasl Step version of sasl to 2.2 for R15 Document upgrade instructions restart_new_emulator and restart_emulator Wait for two restarts in upgrade_restart test Add restart_new_emulator instruction to kernel, stdlib and sasl appups Distinguish restart_new_emulator from restart_emulator in upgrade instructions Upgrade erts: merge sys.config for tmp release instead of using old Allow regexp for version in .appup Restart emulator before running upgrade script when erts is upgraded Conflicts: lib/sasl/src/release_handler.erl lib/sasl/test/release_handler_SUITE.erl
2011-11-17Add documentation for upgrade from pre R15 to post R15 saslSiri Hansen
2011-11-17Document upgrade instructions restart_new_emulator and restart_emulatorSiri Hansen
2011-11-16Improve documentation on supervisor restart strategySiri Hansen
2011-10-27Remove unused */doc/src/make.dep filesBjörn Gustavsson
These dependency files was once used when building the documentation, but are no longer needed.
2011-10-20Merge branch 'cf/simple_one_for_one_shutdown'Henrik Nord
* cf/simple_one_for_one_shutdown: Explain how dynamic child processes are stopped Stack errors when dynamic children are stopped Explicitly kill dynamic children in supervisors Conflicts: lib/stdlib/doc/src/supervisor.xml OTP-9647
2011-10-10Add a warning to docs about workers' shutdown strategyChristopher Faulet
2011-10-10Allow an infinite timeout to shutdown worker processesChristopher Faulet
Now, in child specification, the shutdown value can also be set to infinity for worker children. This restriction was removed because this is not always possible to predict the shutdown time for a worker. This is highly application-dependent.
2011-10-07Update the documentation with information on the callback attributeStavros Aronis
2011-09-21system documentation: Support parallel makeBjörn Gustavsson
2011-09-16Explain how dynamic child processes are stoppedChristopher Faulet
2011-04-13Add terminate_child(Sup, Pid) for simple_one_for_oneSiri Hansen
2011-03-11Update copyright yearsBjörn-Egil Dahlberg
2011-02-25Update Handling Other Messages section in gen_server, gen_fsm, gen_events ↵Gabor Liptak
overviews
2009-11-20The R13B03 release.OTP_R13B03Erlang/OTP