aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/src
AgeCommit message (Collapse)Author
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 '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 '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-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 '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-26Update appups in kernel and stdlib for OTP versions > 19.1Siri Hansen
2016-09-16Implement state entry eventsRaimo Niskanen
2016-09-16Implement call/3 dirty_timeoutRaimo Niskanen
2016-09-07Merge branch 'peppe/stdlib/zip-security-flaw/OTP-13633' into maintPeter Andersson
OTP-13633
2016-09-05Don't report error for shutdown exit tupleMagnus Henoch
When a simple_one_for_one supervisor is shutting down, and a child exits with an exit reason of the form {shutdown, Term}, handle it as if the exit reason were 'shutdown', without printing an error report. This makes the behaviour of wait_dynamic_children match that of do_restart. This fixes ERL-163.
2016-09-05Handle directory traversal attackPeter Andersson
2016-09-01beam_lib: Correct type for the abstract code chunkBjörn Gustavsson
The abstract_code chunk can also contain {eof,_}, {error,_}, and {warning,_} in addition to the abstract forms that make up the Erlang syntax proper.
2016-08-30Support for unicode expanderAndrey Teplyashin
2016-08-18Improve sys debugRaimo Niskanen
2016-08-17Handle exceptions in init/1 and callback_mode/0Raimo Niskanen
2016-08-17Clarify error valuesRaimo Niskanen
2016-08-10Doc fixesRaimo Niskanen
2016-07-27Rewrite gen_statem for M:callback_mode/0Raimo Niskanen
2016-07-19Merge branch ↵Raimo Niskanen
'raimo/stdlib/gen_statem-types-and-templates/ERL-172_ERL-187/OTP-13746' into maint * raimo/stdlib/gen_statem-types-and-templates/ERL-172_ERL-187/OTP-13746: Fix type and template errors from bugs.erlang.org: ERL-172 and ERL-187
2016-07-18Fix type and template errors from bugs.erlang.org: ERL-172 and ERL-187Raimo Niskanen
2016-07-15Merge branch 'maint-19' into maintBjörn-Egil Dahlberg
2016-07-04Fix return value spec for ets:match_objectILYA Khlopotov
ets:match_object/1 and ets:match_object/3 return list of matches
2016-07-04stdlib: Correct a bug regarding records in the shellHans Bolinder
See also ERL-182.
2016-06-13stdlib: Let epp handle long file namesHans Bolinder
2016-06-13Merge branch 'bjorn/stdlib/deprecate-queue-lait/OTP-13658'Björn Gustavsson
* bjorn/stdlib/deprecate-queue-lait/OTP-13658: Deprecate queue:lait/1
2016-06-10Deprecate queue:lait/1Björn Gustavsson
2016-06-10Merge branch 'hasse/dialyzer/improve_from_form/OTP-13547'Hans Bolinder
* hasse/dialyzer/improve_from_form/OTP-13547: Update primary bootstrap stdlib: Correct types and specs dialyzer: Minor adjustments dialyzer: Suppress unmatched_return for send/2 dialyzer: Improve the translation of forms to types dialyzer: Use a cache when translating forms to types dialyzer: Prepare erl_types:t_from_form() for a cache dialyzer: Optimize erl_types:t_form_form() dialyzer: Correct types syntax_tools: Correct types erts: Correct character repr in doc of the abstract format stdlib: Correct types and specs
2016-06-09Remove support for '...' in Maps typesHans Bolinder
It is possible that '...' is added later (OTP 20.0), but for now we are not sure of all details.
2016-06-09stdlib: Correct types and specsHans Bolinder
2016-06-09stdlib: Correct types and specsHans Bolinder
2016-06-08Merge branch 'josevalim/supervisor-get-callback-module/PR-1000/OTP-13619'Siri Hansen
* josevalim/supervisor-get-callback-module/PR-1000/OTP-13619: Return callback module in supervisor format_status
2016-06-04Return callback module in supervisor format_statusJosé Valim
The previous implementation of supervisor:get_callback_module/1 used sys:get_status/1 to get the supervisor inner state and retrieve the callback module. Such implementation forbids any other supervisor implementation that has an internal state different than the #state{} record in supervisor.erl. This patch allows supervisors to return the callback module as part of the sys:get_status/1 data, no longer coupling the callback module implementation with the inner #state{} record. Notice we have kept the clause matching the previous sys:get_status/1 reply for backwards compatibility purposes.
2016-05-31Merge branch 'rickard/rt-dep-erts-kernel-stdlib-sasl'Rickard Green
* rickard/rt-dep-erts-kernel-stdlib-sasl: Bumped runtime dependencies between erts, kernel, stdlib, sasl
2016-05-30Merge branch 'dgud/stdlib/relax-proc_lib-initial-call/OTP-13623'Dan Gudmundsson
* dgud/stdlib/relax-proc_lib-initial-call/OTP-13623: Relax translation of initial calls
2016-05-30Merge branch 'kostis/beam_disasm-entry-type/PR-1072'Björn Gustavsson
* kostis/beam_disasm-entry-type/PR-1072: Declare the type of function entry points Export label() type
2016-05-27Merge branch 'richcarl/erts/fix-init-stop/PR-911/OTP-13630/OTP-13631'Sverker Eriksson
2016-05-27Export label() typeKostis Sagonas
2016-05-27Bumped runtime dependencies between erts, kernel, stdlib, saslRickard Green
2016-05-25erts: Implement halt/0 and halt/1 in ErlangSverker Eriksson
just to make things simpler.
2016-05-25Relax translation of initial callsDan Gudmundsson
Remove the restriction to only do the translation for gen_server and gen_fsm. This enables user defined gen based generic callback modules to be displayed nicely in c:i() and observer.
2016-05-25Merge branch 'josevalim/supervisor-try-again-restart/PR-1001/OTP-13618'Siri Hansen
* josevalim/supervisor-try-again-restart/PR-1001/OTP-13618: Avoid potential timer bottleneck on supervisor restart