aboutsummaryrefslogtreecommitdiffstats
path: root/system/doc/design_principles
AgeCommit message (Collapse)Author
2016-05-09Fix all seealso and other minor changesRaimo Niskanen
2016-05-09Merge branch 'xsipewe_gen_statem1' of https://github.com/xsipewe/otp into ↵Raimo Niskanen
raimo/polish-gen_statem/OTP-13065 Conflicts: lib/stdlib/doc/src/gen_statem.xml
2016-05-06Editorial updatexsipewe
2016-05-04Fix documentationRaimo Niskanen
2016-04-27Fix hibernation subtletyRaimo Niskanen
2016-04-25Merge branch 'raimo/new-gen-state-machine/OTP-13065'Raimo Niskanen
* raimo/new-gen-state-machine/OTP-13065: (52 commits) Add section on state filtering Promote gen_statem over gen_fsm Modify code_change/4 to return CallbackMode Use ?NAME macro in examples Introduce Fred Herbert suggested additions Introduce corrections from Fred Hebert and Ingela Use .png pictures instead of .gif Write Design Principles chapter Fix missing short forms for event timeout Do more intricate Fred Hebert doc changes Change Caller -> From as suggested by Fred Hebert Do documentation improvements from Fred Hebert Fix broken documenation reference Rename state_timeout -> event_timeout Fix most of the system docs and emacs mode Change code_change/4 to {ok,State,Data} Fixup sharpened test suite Sharpen test suite Remove the remove_event action and all alike Relax caller() type check and cleanup ... Conflicts: lib/stdlib/src/gen.erl lib/stdlib/src/gen_event.erl lib/stdlib/src/gen_fsm.erl lib/stdlib/src/gen_server.erl lib/stdlib/test/error_logger_forwarder.erl
2016-04-25Add section on state filteringRaimo Niskanen
Misc documentation fixes.
2016-04-22Promote gen_statem over gen_fsmRaimo Niskanen
2016-04-21Modify code_change/4 to return CallbackModeRaimo Niskanen
Also move check of non-atom states in callback mode state_functions to where the state function is called. This gives homogenous diagnostics for state functions, code_change/4 and system_replace_state StateFun. Irregularities pointed out by James Fish.
2016-04-19Use ?NAME macro in examplesRaimo Niskanen
2016-04-19Introduce Fred Herbert suggested additionsRaimo Niskanen
2016-04-18Introduce corrections from Fred Hebert and IngelaRaimo Niskanen
2016-04-18Use .png pictures instead of .gifRaimo Niskanen
2016-04-15Write Design Principles chapterRaimo Niskanen
2016-04-13Merge branch 'henrik/update-copyrightyear'Henrik Nord
* henrik/update-copyrightyear: update copyright-year
2016-04-07Merge branch 'derek121/supervisor_docs/PR-974'Henrik Nord
* derek121/supervisor_docs/PR-974: Fix small supervisor docs grammar issue
2016-04-01Add documentation about -specs for callbacksStavros Aronis
2016-03-15update copyright-yearHenrik Nord
2016-03-03Fix most of the system docs and emacs modeRaimo Niskanen
2016-02-21Fix small supervisor docs grammar issueDerek Brown
2015-09-25Fixed typo in otp design principlesRiccardo
2015-06-18Change license text to APLv2Bruce Yinhe
2015-03-12Update Design PrinciplesBjörn Gustavsson
Language cleaned up by the technical writers xsipewe and tmanevik from Combitech. Proofreading and corrections by Björn Gustavsson.
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}). -----------------------------------------------------------------------------