Age | Commit message (Collapse) | Author | |
---|---|---|---|
2016-05-11 | Prepare release | Erlang/OTP | |
2016-05-11 | Merge branch 'raimo/polish-gen_statem/OTP-13065' | Raimo Niskanen | |
* raimo/polish-gen_statem/OTP-13065: Reword 'dispatch' into 'branch depending' | |||
2016-05-11 | Reword 'dispatch' into 'branch depending' | Raimo Niskanen | |
2016-05-11 | Merge branch 'lukas/erts/max_heap_size/OTP-13174' | Lukas Larsson | |
* lukas/erts/max_heap_size/OTP-13174: erts: Fix max heap size exit when in hipe mode Update preloaded modules erts: Fix pre-bif yield current_function erts: Implement max_heap_size process flag | |||
2016-05-10 | stdlib: Fix missing anchor in epp docs | Lukas Larsson | |
2016-05-10 | erts: Implement max_heap_size process flag | Lukas Larsson | |
The max_heap_size process flag can be used to limit the growth of a process heap by killing it before it becomes too large to handle. It is possible to set the maximum using the `erl +hmax` option, `system_flag(max_heap_size, ...)`, `spawn_opt(Fun, [{max_heap_size, ...}])` and `process_flag(max_heap_size, ...)`. It is possible to configure the behaviour of the process when the maximum heap size is reached. The process may be sent an untrappable exit signal with reason kill and/or send an error_logger message with details on the process state. A new trace event called gc_max_heap_size is also triggered for the garbage_collection trace flag when the heap grows larger than the configured size. If kill and error_logger are disabled, it is still possible to see that the maximum has been reached by doing garbage collection tracing on the process. The heap size is defined as the sum of the heap memory that the process is currently using. This includes all generational heaps, the stack, any messages that are considered to be part of the heap and any extra memory the garbage collector may need during collection. In the current implementation this means that when a process is set using on_heap message queue data mode, the messages that are in the internal message queue are counted towards this value. For off_heap, only matched messages count towards the size of the heap. For mixed, it depends on race conditions within the VM whether a message is part of the heap or not. Below is an example run of the new behaviour: Eshell V8.0 (abort with ^G) 1> f(P),P = spawn_opt(fun() -> receive ok -> ok end end, [{max_heap_size, 512}]). <0.60.0> 2> erlang:trace(P, true, [garbage_collection, procs]). 1 3> [P ! lists:duplicate(M,M) || M <- lists:seq(1,15)],ok. ok 4> =ERROR REPORT==== 26-Apr-2016::16:25:10 === Process: <0.60.0> Context: maximum heap size reached Max heap size: 512 Total heap size: 723 Kill: true Error Logger: true GC Info: [{old_heap_block_size,0}, {heap_block_size,609}, {mbuf_size,145}, {recent_size,0}, {stack_size,9}, {old_heap_size,0}, {heap_size,211}, {bin_vheap_size,0}, {bin_vheap_block_size,46422}, {bin_old_vheap_size,0}, {bin_old_vheap_block_size,46422}] flush(). Shell got {trace,<0.60.0>,gc_start, [{old_heap_block_size,0}, {heap_block_size,233}, {mbuf_size,145}, {recent_size,0}, {stack_size,9}, {old_heap_size,0}, {heap_size,211}, {bin_vheap_size,0}, {bin_vheap_block_size,46422}, {bin_old_vheap_size,0}, {bin_old_vheap_block_size,46422}]} Shell got {trace,<0.60.0>,gc_max_heap_size, [{old_heap_block_size,0}, {heap_block_size,609}, {mbuf_size,145}, {recent_size,0}, {stack_size,9}, {old_heap_size,0}, {heap_size,211}, {bin_vheap_size,0}, {bin_vheap_block_size,46422}, {bin_old_vheap_size,0}, {bin_old_vheap_block_size,46422}]} Shell got {trace,<0.60.0>,exit,killed} | |||
2016-05-09 | Merge branch 'raimo/polish-gen_statem/OTP-13065' | Raimo Niskanen | |
* raimo/polish-gen_statem/OTP-13065: Fix all seealso and other minor changes Editorial update | |||
2016-05-09 | Fix all seealso and other minor changes | Raimo Niskanen | |
2016-05-09 | Merge 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-06 | Editorial update | xsipewe | |
2016-05-04 | Merge branch 'raimo/polish-gen_statem/OTP-13065' | Raimo Niskanen | |
* raimo/polish-gen_statem/OTP-13065: Fix documentation Clean up terminate functions Fix callback mode after code change not used Restructure loop_* to clarify S handling | |||
2016-05-04 | Fix documentation | Raimo Niskanen | |
2016-04-29 | Merge branch 'jlouis/stdlib/implement-lists-join/PR-1012/OTP-13523' | Björn Gustavsson | |
* jlouis/stdlib/implement-lists-join/PR-1012/OTP-13523: Implement lists:join/2 | |||
2016-04-28 | Merge branch 'egil/maps-api-additions/PR-1025/OTP-13522' | Björn-Egil Dahlberg | |
* egil/maps-api-additions/PR-1025/OTP-13522: stdlib: Document maps:update_with/3,4 stdlib: Add tests for maps:update_with/3,4 stdlib: Add maps:update_with/3,4 erts: Add tests for maps:take/2 stdlib: Document maps:take/2 erts: Add BIF maps:take/2 | |||
2016-04-27 | stdlib: Document maps:update_with/3,4 | Björn-Egil Dahlberg | |
2016-04-27 | stdlib: Document maps:take/2 | Björn-Egil Dahlberg | |
2016-04-27 | Merge branch 'raimo/polish-gen_statem/OTP-13065' | Raimo Niskanen | |
* raimo/polish-gen_statem/OTP-13065: Fix hibernation subtlety | |||
2016-04-27 | Fix hibernation subtlety | Raimo Niskanen | |
2016-04-26 | Remove extra ">" in examples | eksperimental | |
2016-04-25 | Merge 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-22 | Promote gen_statem over gen_fsm | Raimo Niskanen | |
2016-04-21 | Modify code_change/4 to return CallbackMode | Raimo 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-18 | Introduce corrections from Fred Hebert and Ingela | Raimo Niskanen | |
2016-04-15 | erts: Document erlang:match_spec_test/3 | Lukas Larsson | |
OTP-13501 | |||
2016-04-09 | Implement lists:join/2 | Jesper Louis Andersen | |
Add a call which works much like string:join/2 but for arbitrary lists. Provide the function itself, lifted from Haskells Data.List standard library, provide documentation and provide tests for the function. | |||
2016-03-18 | Do more intricate Fred Hebert doc changes | Raimo Niskanen | |
2016-03-17 | Change Caller -> From as suggested by Fred Hebert | Raimo Niskanen | |
2016-03-17 | Do documentation improvements from Fred Hebert | Raimo Niskanen | |
2016-03-15 | update copyright-year | Henrik Nord | |
2016-03-15 | Merge tag 'OTP-18.3' | Lars Thorsen | |
=== OTP-18.3 === Changed Applications: - asn1-4.0.2 - common_test-1.12 - compiler-6.0.3 - cosNotification-1.2.1 - cosTime-1.2.1 - cosTransactions-1.3.1 - crypto-3.6.3 - debugger-4.1.2 - dialyzer-2.9 - diameter-1.11.2 - edoc-0.7.18 - eldap-1.2.1 - erl_docgen-0.4.2 - erl_interface-3.8.2 - erts-7.3 - eunit-2.2.13 - hipe-3.15 - inets-6.2 - kernel-4.2 - mnesia-4.13.3 - observer-2.1.2 - orber-3.8.1 - public_key-1.1.1 - runtime_tools-1.9.3 - sasl-2.7 - snmp-5.2.2 - ssh-4.2.2 - ssl-7.3 - stdlib-2.8 - test_server-3.10 - tools-2.8.3 - webtool-0.9.1 - wx-1.6.1 - xmerl-1.3.10 Unchanged Applications: - cosEvent-2.2 - cosEventDomain-1.2 - cosFileTransfer-1.2 - cosProperty-1.2 - et-1.5.1 - gs-1.6 - ic-4.4 - jinterface-1.6.1 - megaco-3.18 - odbc-2.11.1 - os_mon-2.4 - ose-1.1 - otp_mibs-1.1 - parsetools-2.1.1 - percept-0.8.11 - reltool-0.7 - syntax_tools-1.7 - typer-0.9.10 Conflicts: OTP_VERSION erts/vsn.mk lib/test_server/doc/src/notes.xml lib/test_server/vsn.mk lib/webtool/doc/src/notes.xml lib/webtool/vsn.mk | |||
2016-03-14 | Prepare release | Erlang/OTP | |
2016-03-08 | Merge branch 'maint' | Henrik Nord | |
2016-03-04 | Fix broken documenation reference | Raimo Niskanen | |
2016-03-03 | Rename state_timeout -> event_timeout | Raimo Niskanen | |
2016-03-03 | Fix most of the system docs and emacs mode | Raimo Niskanen | |
2016-03-02 | stdlib: Add filename:basedir/2,3 | Björn-Egil Dahlberg | |
2016-03-02 | Change code_change/4 to {ok,State,Data} | Raimo Niskanen | |
2016-02-29 | Remove the remove_event action and all alike | Raimo Niskanen | |
Removing events from the internal queues is not necessary with the choosen semantics of the event queue vs. hibernate. In an early implementation it was possible by combining hibernate with e.g. postpone to get an event in the queue that you would not see before processing the postponed event, and therefore should you decide to cancel a timer it was essential to be able to remove that unseen event from the queue. With the choosen semantics you will have to postpone or generate an event for it to be in the event queue, and if you e.g. postpone a timeout event and then cancel the timer it is your mistake. You have seen the event and should know better than to try to cancel the timer. So, the actions: remove_event, cancel_timer, demonitor and unlink are now removed. There have also been some cleanup of the timer handling code. | |||
2016-02-26 | Implement 'keep_state_and_data' and 'stop' | Raimo Niskanen | |
2016-02-26 | Write a simple example in the reference manual | Raimo Niskanen | |
2016-02-25 | Clarify documentation after Torben Hoffman's comments | Raimo Niskanen | |
2016-02-25 | Remove {keep_state_and_data} | Raimo Niskanen | |
Correct typo reported by Luïc Hoguin. | |||
2016-02-24 | Unify whitespace in XML doc | Raimo Niskanen | |
2016-02-24 | Ditch PrevState | Raimo Niskanen | |
StateName/4 -> StateName/3 handle_event/5 -> handle_event/4 | |||
2016-02-24 | Make first next_event in list arrive first | Raimo Niskanen | |
Define options as actions that set options, rework the documentation about this. | |||
2016-02-24 | Ditch State so StateName/5 -> StateName/4 | Raimo Niskanen | |
2016-02-23 | Add {stop_and_reply,Reason,Replies [,Data]) | Raimo Niskanen | |
Cleanup some error handling | |||
2016-02-23 | Rename Client -> Caller | Raimo Niskanen | |
2016-02-23 | s/is/are | Henrik Nord | |
2016-02-22 | Make callback_option() mandatory | Raimo Niskanen | |