aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib
AgeCommit message (Collapse)Author
2016-11-17Merge branch 'elbrujohalcon/expand-sup-doc/PR-1233/OTP-14037'Siri Hansen
* elbrujohalcon/expand-sup-doc/PR-1233/OTP-14037: Expand on the behavior of supervisors
2016-11-17Merge branch 'jj1bdx/stdlib/rand-jump/PR-1235/OTP-14038'Dan Gudmundsson
* jj1bdx/stdlib/rand-jump/PR-1235/OTP-14038: Add jump functions to rand module
2016-11-15Expand on the behavior of supervisorsBrujo Benavides
Add additional details on the behavior of supervisors when reaching maximum restart intensity, as stated by @rvirding at [Medium](https://goo.gl/XhwpSL)
2016-11-14Merge branch 'tokitori/stdlib/optimize-sets/PR-1212/OTP-14035'Björn Gustavsson
* tokitori/stdlib/optimize-sets/PR-1212/OTP-14035: Speed up sets:add_element/2 and sets:del_element/2
2016-11-14Add jump functions to rand moduleKenji Rikitake
Jump functions returns the state after performing jump calculation to a rand module internal state, which is equivalent to perform a large number of calls of calculating new states for XorShift*/+ algorithms. This commit add jump functions for exsplus and exs1024 algorithms, and a wrapper function jump/1. The wrapper function will cause error with reason "not_implemented" if the jump function for the algorithm is not implemented. This commit adds following new functionalities: - Add new functions rand:jump/0 and rand:jump/1 - Add the member jump to type alg_handler(), a fun for performing the jump function - Add jump functions for exsplus, equivalent to 2^64 calls - Add jump functions for exs1024, equivalent to 2^512 calls - Revise seed_put/1, seed/1, seed/2 See <https://github.com/erlang/otp/pull/1235#discussion_r86950557> - Add dummy jump function for exs64 calling erlang:error(not_implemented) - Add jump function test cases as follows: * Add Common Test group reference_jump * Add tests for jump/0 to reference_jump_procdict/1 * Rename tests for jump/1 to reference_jump_state/1 * Rename gen_jump/1 to gen_jump_1/1 * Add Common Tests reference_jump_procdict and reference_jump_state to the group reference_jump - Add jump function documentation This commit also changes the Copyright year for Kenji Rikitake's code from 2015 to 2015-2016.
2016-11-11Merge branch 'siri/appups-20.0'Siri Hansen
* siri/appups-20.0: Update sasl/test/test_lib.hrl with recent versions of kernel and stdlib Update appups in kernel, stdlib and sasl for OTP-20
2016-11-08Speed up sets:add_element/2 and sets:del_element/2Mikhail Yashkov
Optimize sets:add_element/2 when adding an element that is already present, and sets:del_element/2 when the element to be deleted is not present. This optimization can make certain operations, such as sets:union/2 with many overlapping elements, up to two orders of magnitude faster.
2016-11-08Merge branch 'maint'Raimo Niskanen
2016-11-08Merge branch 'raimo/gen_statem-improvements/OTP-13929' into maintRaimo Niskanen
* raimo/gen_statem-improvements/OTP-13929: Log terminate to sys debug Optimize event timeout Rework timeout handling Clarify the chapter 'Postponing Events' (ERL-284) Fix doc and type for state enter calls
2016-11-08Merge branch 'maint'Björn-Egil Dahlberg
2016-11-08fix typo on doc of mapsJxck
typo
2016-11-07Merge branch 'maint'Björn-Egil Dahlberg
2016-11-04stdlib: Increase timeouts in ets_SUITEBjörn-Egil Dahlberg
* valgrind needs lots of time
2016-11-04stdlib: Increase timeouts in rand_SUITEBjörn-Egil Dahlberg
* valgrind needs lots of time
2016-11-04stdlib: Increase timeouts in base64_SUITEBjörn-Egil Dahlberg
* valgrind needs lots of time
2016-11-03Merge branch 'gandrade/fmod/PR-1216/OTP-14000'Björn Gustavsson
* gandrade/fmod/PR-1216/OTP-14000: Add test cases for math:fmod/2 BIF Support math:fmod/2 BIF on compiler Add math:fmod/2 BIF
2016-11-02Add math:fmod/2 BIFGuilherme Andrade
Returns the (floating point) remainder of first argument divided by second argument.
2016-10-31Propagate exceptions fully when using proc_libLoïc Hoguin
This makes proc_lib behaves like a normal process as far as the propagation of exceptions is concerned. Before this commit, the following difference could be observed: 6> spawn_link(fun() -> ssl:send(a,b) end). <0.43.0> 7> flush(). Shell got {'EXIT',<0.43.0>, {function_clause, [{ssl,send,[a,b],[{file,"..."},{line,275}]}]}} ok 8> proc_lib:spawn_link(fun() -> ssl:send(a,b) end). <0.46.0> 9> flush(). Shell got {'EXIT',<0.46.0>,function_clause} After this commit, we get the following instead: 3> flush(). Shell got {'EXIT',<0.61.0>, {function_clause, [{ssl,send,[a,b],[{file,"..."},{line,275}]}, {proc_lib,init_p,3,[{file,"..."},{line,232}]}]}} The stacktrace will show minor differences of course but the form is now the same as without proc_lib. The rationale behind this commit is that: * We now have a single form regardless of how the process was started * We can use the stacktrace to programmatically alter behavior (for example an HTTP server identifying problems in input decoding to send back a generic 400, or a 500 otherwise) * We can access the stacktrace to print it somewhere (for example an HTTP server could send it back to the client when a debug mode is enabled)
2016-10-26Merge branch 'maint'Hans Bolinder
* maint: stdlib: Correct shell_default(3)
2016-10-26stdlib: Correct shell_default(3)Hans Bolinder
2016-10-26Log terminate to sys debugRaimo Niskanen
2016-10-26Optimize event timeoutRaimo Niskanen
Do not start an event timer unless there are no enqueued events.
2016-10-26Rework timeout handlingRaimo Niskanen
Handling of timers and timeouts has been cleaned up and generalized. Semantic change regarding state timeout zero: Previously if one state caused a state timeout zero and managed to stay in the same state to insert additional timeout zero(s) in the next state callback invocation, then there would be only one timeout zero event. The mindset was that the machine was faster then the timeout zero. This has changed with the mindset that all state callback invocations should be independent, so now the machine will get one state timeout zero event per started state timeout zero. Note that just using zero timeouts is fairly esoteric...
2016-10-24Fix doc and type for state enter callsRaimo Niskanen
2016-10-19Merge branch 'maint'Hans Bolinder
* maint: dbg:fun2ms: allow empty list as head
2016-10-19Merge branch 'gomoripeti/stdlib/ms_fix/PR-1203/OTP-13974' into maintHans Bolinder
* gomoripeti/stdlib/ms_fix/PR-1203/OTP-13974: dbg:fun2ms: allow empty list as head
2016-10-19Merge branch 'maint'Raimo Niskanen
2016-10-19Merge branch 'raimo/gen_statem-improvements/OTP-13929' into maintRaimo Niskanen
* raimo/gen_statem-improvements/OTP-13929: Fix race condition in cancel_timer/1 Use parameterized types Implement state timeouts Improve docs and types Change state entry events into state enter calls Improve docs Improve docs Implement state entry events Implement call/3 dirty_timeout
2016-10-14Fix race condition in cancel_timer/1Raimo Niskanen
2016-10-13dbg:fun2ms: allow empty list as headPéter Gömöri
Running 'dbg:fun2ms(fun([]) -> return_trace() end' resulted in an error "dbg:fun2ms requires fun with single variable or list parameter" But the empty list is actually a list and it is a valid value as a match-spec head (matching on arity-0 functions). Although its practical use is questionable this commit eliminates a small limitation of ms_transform which is not present in the match-spec grammar.
2016-10-13Use parameterized typesRaimo Niskanen
2016-10-12Implement state timeoutsRaimo Niskanen
2016-10-04Improve docs and typesRaimo Niskanen
2016-09-30Change state entry events into state enter callsRaimo Niskanen
2016-09-29Merge branch 'rickard/time-unit/OTP-13831'Rickard Green
* rickard/time-unit/OTP-13831: Replace usage of deprecated time units
2016-09-29Merge branch 'maint'Hans Bolinder
* maint: parsetools: Correct handling of Unicode in Leex Don't report error for shutdown exit tuple
2016-09-28Merge branch ↵Siri Hansen
'legoscia/dynamic-child-shutdown-tuple/ERL-163/PR-1158/OTP-13907' into maint * legoscia/dynamic-child-shutdown-tuple/ERL-163/PR-1158/OTP-13907: Don't report error for shutdown exit tuple
2016-09-27Merge branch 'maint'Hans Bolinder
* maint: stdlib: Add a testcase for Unicode expander Support for unicode expander
2016-09-27Merge branch 'andrey/stdlib/fix_edlin_expand/ERL-1152' into maintHans Bolinder
* andrey/stdlib/fix_edlin_expand/ERL-1152: stdlib: Add a testcase for Unicode expander Support for unicode expander
2016-09-27Update appups in kernel, stdlib and sasl for OTP-20Siri Hansen
2016-09-27Merge branch 'maint'Siri Hansen
2016-09-26Update appups in kernel and stdlib for OTP versions > 19.1Siri Hansen
2016-09-23stdlib: Add a testcase for Unicode expanderHans Bolinder
2016-09-21Merge branch 'sverker/ets-load-factor/OTP-13903'Sverker Eriksson
* sverker/ets-load-factor: erts: Unify reduction count for ets:select stdlib: Cuddle ets_SUITE for valgrind stdlib: Fix ets_SUITE:smp_select_delete erts: Tweak ets grow/shrink to keep up at contention erts: Fix ets_SUITE:memory erts: Suppress failed ETS memory checks erts: Reduce ets hash load factor erts: Enable a smaller first hash segment for ets erts: Redesign ets with separate segment tables erts: Remove unnecessary access of 'is_resizing' erts: Add ErtsSizeofMember macro erts: Add ErtsContainerStruct_ for array members
2016-09-21Merge tag 'OTP-19.1'Henrik Nord
=== OTP-19.1 === Changed Applications: - asn1-4.0.4 - common_test-1.12.3 - compiler-7.0.2 - crypto-3.7.1 - debugger-4.2.1 - dialyzer-3.0.2 - diameter-1.12.1 - edoc-0.8 - erl_docgen-0.6 - erl_interface-3.9.1 - erts-8.1 - eunit-2.3.1 - gs-1.6.2 - hipe-3.15.2 - ic-4.4.2 - inets-6.3.3 - jinterface-1.7.1 - kernel-5.1 - mnesia-4.14.1 - observer-2.2.2 - odbc-2.11.3 - parsetools-2.1.3 - reltool-0.7.2 - runtime_tools-1.10.1 - sasl-3.0.1 - snmp-5.2.4 - ssh-4.3.2 - ssl-8.0.2 - stdlib-3.1 - syntax_tools-2.1 - tools-2.8.6 - wx-1.7.1 - xmerl-1.3.12 Unchanged Applications: - cosEvent-2.2.1 - cosEventDomain-1.2.1 - cosFileTransfer-1.2.1 - cosNotification-1.2.2 - cosProperty-1.2.1 - cosTime-1.2.2 - cosTransactions-1.3.2 - eldap-1.2.2 - et-1.6 - megaco-3.18.1 - orber-3.8.2 - os_mon-2.4.1 - otp_mibs-1.1.1 - percept-0.9 - public_key-1.2 - typer-0.9.11 Conflicts: OTP_VERSION lib/gs/doc/src/notes.xml lib/gs/vsn.mk
2016-09-20Prepare releaseErlang/OTP
2016-09-19stdlib: Cuddle ets_SUITE for valgrindSverker Eriksson
2016-09-19stdlib: Fix ets_SUITE:smp_select_deleteSverker Eriksson
no point in checking table load as select_delete does not shrink.
2016-09-19erts: Fix ets_SUITE:memorySverker Eriksson
by simply asking for the size of struct ext_segtab
2016-09-19erts: Suppress failed ETS memory checksSverker Eriksson
due to the grow/shrink hysteresis of the meta tables