aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/src
AgeCommit message (Collapse)Author
2015-01-16Merge branch 'oliv3/math_log2/OTP-12411'Marcus Arendt
* oliv3/math_log2/OTP-12411: Add math:log2/1
2015-01-14dialyzer: Introduce module local suppression of warningsHans Bolinder
The -dialyzer() attribute can be used for suppressing warnings in a module by specifying functions or warning options. It can also be used for requesting warnings in a module.
2015-01-14Add math:log2/1Olivier Girondel
2014-12-29Merge branch 'lemenkov/use_os_getenv_2'Marcus Arendt
* lemenkov/use_os_getenv_2: fix missing include Start using os:getenv/2 fun Introduce os:getenv/2
2014-12-19Merge branch 'lukas/erts/crashdump_improvements/OTP-12377'Lukas Larsson
* lukas/erts/crashdump_improvements/OTP-12377: erts: Make main thread safe from pipe closed event erts: Improve crash dumps erts: Rename sys_sigset to sys_signal erts: Introduce thread suspend functions erts: Remove usage of QUANTIFY signal erts: Add support for thread names ets: Increase data available in crash dumps and ets:info erts: Start compilation of beam_emu earlier
2014-12-19ets: Increase data available in crash dumps and ets:infoLukas Larsson
OTP-12376
2014-12-18Merge branch 'maint'Bruce Yinhe
2014-12-16Merge branch 'sverk/ets-take-2/OTP-12309'Sverker Eriksson
* sverk/ets-take-2/OTP-12309: erts: Optimize ets:lookup and ets:take for bags Implement ets:take/2
2014-12-15Start using os:getenv/2 funPeter Lemenkov
See #535 Signed-off-by: Peter Lemenkov <[email protected]>
2014-12-02Replaced "Endianess" with "Endianness" everywhereDavid Haguenauer
2014-12-01Merge branch 'maint'Hans Nilsson
2014-12-01ssh: Implements and tests erl_tar read from remote host.Hans Nilsson
2014-11-28Merge branch 'maint'Siri Hansen
2014-11-27Merge branch 'siri/gen_server/try-catch/OTP-12263' into maintSiri Hansen
* siri/gen_server/try-catch/OTP-12263: Add spec for gen_server:terminate/6,7
2014-11-25Merge branch 'maint'Hans Bolinder
* maint: dialyzer: correct record updates
2014-11-24dialyzer: correct record updatesHans Bolinder
Correct a bug introduced in commit 8498a3.
2014-11-20Merge branch 'maint'Henrik Nord
2014-11-20Merge branch 'legoscia/io-message-queue-optimisation' into maintHenrik Nord
* legoscia/io-message-queue-optimisation: Optimise io requests for long message queues
2014-11-20stdlib: remove the last traces of Mnemosyne RulesHans Bolinder
Robert has OK'ed the removal of the token ':-'.
2014-11-18Merge branch 'maint'Hans Nilsson
2014-11-18erl_tar: Extend api to define own storage media access functions.Hans Nilsson
The reason for this is a requirement on enabling ssh_sftp to write a tar file on the server. This new api function is used by ssh_sftp:open_tar/3,4.
2014-11-18Add spec for gen_server:terminate/6,7Siri Hansen
This is to prevent dialyzer warning "no local return".
2014-11-17Merge branch 'maint'Björn Gustavsson
* maint: Fix miscompilation when module contains multiple named funs Fix locations of shadowing warnings in ms_transform
2014-11-17Merge branch 'nox/stdlib/ms_transform-locate-shadow-warning/OTP-12264' into ↵Björn Gustavsson
maint * nox/stdlib/ms_transform-locate-shadow-warning/OTP-12264: Fix locations of shadowing warnings in ms_transform
2014-11-11Merge branch 'maint'Peter Andersson
2014-11-10Merge branch 'capflam/remove_empty_parts_in_binary_split'Bruce Yinhe
OTP-12301 * capflam/remove_empty_parts_in_binary_split: Add 'trim_all' option to binary:split/3
2014-11-07Add stack trace for gen_server exit in ERROR REPORTSiri Hansen
If a callback function was terminated with exit/1, there would be no stack trace in the ERROR REPORT produced by gen_server. This has been corrected. The actual exit reason for the process is not changed.
2014-11-06Merge branch 'siri/sup-spec-maps/OTP-11043'Siri Hansen
* siri/sup-spec-maps/OTP-11043: Update emacs skeleton for supervisor to use maps Update dialyzer test with maps in supervisor properties Add documentation of maps in supervisor flags and child specs Add test of maps in supervisor flags and child specs New function supervisor:get_childspec/2 Allow maps for supervisor flags and child specs Rebase supervisor Add more tests of supervisor
2014-10-29Add 'trim_all' option to binary:split/3Christopher Faulet
This option can be set to remove _ALL_ empty parts of the result of a call to binary:split/3.
2014-10-28Merge branch 'egil/nox/maps-match_specs/OTP-12270'Björn-Egil Dahlberg
* egil/nox/maps-match_specs/OTP-12270: erts: Fix return value from erts_maps_get to be const Properly support maps in match_specs Support maps in ms_transform Return pointer to value in erts_maps_get()
2014-10-23Merge branch 'maint'Hans Bolinder
* maint: Fix rare race condition in Dets
2014-10-23Fix rare race condition in DetsHans Bolinder
The correction is due to the the evil testcase dets_SUITE:simultaneous_open(). If the process repairing a Dets file is killed (should normally never happen), and another process tries to repair the file, a temporary file from the first process could live on for a while, even after a successful call to file:delete(). This has only been seen on W-nd-ows, where it is a known problem. There are other ways to deal with the problem (rename the file; use some other filename), but we continue using one certain filename in order to be as backwards compatible as possible.
2014-10-20New function supervisor:get_childspec/2Siri Hansen
Takes the name of the child (or Pid, in the case of a simple_one_for_one supervisor) and returns the map which specifies the child.
2014-10-20Allow maps for supervisor flags and child specsSiri Hansen
Earlier, supervisor flags and child specs were given as tuples. While this is kept for backwards compatibility, it is now also allowed to give these parameters as maps: -type sup_flags() :: #{strategy => strategy(), % optional intensity => non_neg_integer(), % optional period => pos_integer()} % optional -type child_spec() :: #{id => child_id(), % mandatory start => mfargs(), % mandatory restart => restart(), % optional shutdown => shutdown(), % optional type => worker(), % optional modules => modules()} % optional Default values are as follows: Supervisor flags: strategy: one_for_one intensity: 1 period: 5 Child specs: restart: permanent type: worker shutdown: 5000 for workers, 'infinity' for supervisors modules: [M], where M comes from the child's start {M,F,A} Some of these default values are quite hard to decide on, since there really is no "most common way". It always depends on the use case. So we decided that the most important reason for having default values is to lower the start barrier and get "something" running. For production use, most systems must be fine tuned in this respect anyway. This is how we reasoned about it: Strategy: just pick one - and 'one_for_one' was most used in OTP. Max restart frequency (intensity/period): by allowing one restart only we keep the important supervisor feature of restarting children, but we also avoid the possibility of scaling to a huge amount of restarts if the supervisor tree is deep. Restart: just pick one - and 'permanent' is fairly common. Shutdown for workers: to avoid the confusion of why the terminate function is not executed, we decided not to use 'brutal_kill'. Which number to use is probably not that important, so we chose 5000. Shutdown for supervisors: the recommended shutdown value for supervisors is 'infinity', so we decied to use that. Having the same (integer) value as for workers can give very strange results. Type: just pick one - and we believe that 'worker' is most common
2014-10-08Rebase supervisorSiri Hansen
Remove duplicated code related to checking of supervisor flags.
2014-10-06Merge branch 'maint'Bruce Yinhe
2014-10-06Merge branch 'vinoski/edlin-ctrl-u' into maintBruce Yinhe
OTP-12224 * vinoski/edlin-ctrl-u: Make shell ctrl-u save killed text correctly
2014-10-03Merge branch 'egil/maps/variable-keys/OTP-12218'Björn-Egil Dahlberg
* egil/maps/variable-keys/OTP-12218: (22 commits) compiler: Update test for Maps aliasing compiler: Properly support Map aliasing compiler: Refactor Map pairs aliasing compiler: Fix harmless need_heap error for Maps stdlib: Update Map tests stdlib: Use environment bindings for Maps keys in erl_eval matching debugger: Update Map tests compiler: Update Map tests compiler: Fix v3_core Maps pair chains compiler: Use expressions in core patterns compiler: Use variables in Map cerl inliner compiler: Reintroduce binary limit for Map keys compiler: Shameless v3_core hack for variables compiler: Use variables in Map beam assmebler compiler: Use variables in Map kernel pass compiler: Use variables in Map core pass compiler: Normalize unary ops on Maps key literals stdlib: Update Map tests stdlib: erl_lint Map key variables compiler: Maps are always patterns never values in matching ...
2014-10-02Merge branch 'maint'Siri Hansen
Conflicts: lib/stdlib/src/stdlib.appup.src
2014-10-02Merge branch 'siri/appups-17.4' into maintSiri Hansen
* siri/appups-17.4: Fix stdlib.appup for OTP-17.4
2014-10-02Merge branch 'siri/filename-join-2/OTP-12158'Siri Hansen
* siri/filename-join-2/OTP-12158: Fix handling of single dot in filename:join/2
2014-10-01Make shell ctrl-u save killed text correctlySteve Vinoski
Fix edlin to correctly save text killed with ctrl-u. Prior to this fix, entering text into the Erlang shell and then killing it with ctrl-u followed by yanking it back with ctrl-y would result in the yanked text being the reverse of the original killed text. Add a test for the fix to interactive_shell_SUITE. (This is the same fix as in PR#416, but that PR was never completed.)
2014-10-01Merge branch 'maint'Björn-Egil Dahlberg
2014-10-01Merge branch 'ap/attribute_fun_arity_in_map/OTP-12213' into maintBjörn-Egil Dahlberg
* ap/attribute_fun_arity_in_map/OTP-12213: stdlib: Test Map attributes via erl_pp stdlib: erl_parse abstract Maps stdlib: Refactor ?line in erl_pp_SUITE:misc_attrs stdlib: Refactor Maps farity attributes Allow Name/Arity syntax in maps inside attributes
2014-10-01Merge branch 'maint'Björn-Egil Dahlberg
Conflicts: lib/stdlib/src/erl_pp.erl
2014-10-01Merge branch 'egil/fix-erl_pp/OTP-12190' into maintBjörn-Egil Dahlberg
* egil/fix-erl_pp/OTP-12190: stdlib: Handle key type expressions
2014-10-01Merge branch 'maint'Siri Hansen
2014-10-01Merge branch 'siri/new-dialyzer-gen_event/OTP-12206' into maintSiri Hansen
* siri/new-dialyzer-gen_event/OTP-12206: Fix dialyzer warnings for unmatched return in gen_event
2014-10-01Merge branch 'maint'Marcus Arendt
2014-10-01Merge branch 'capflam/filelib_wildcard_fix' into maintMarcus Arendt
* capflam/filelib_wildcard_fix: Fix filelib:wildcard/2 when 'Cwd' ends with a dot