aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/src
AgeCommit message (Collapse)Author
2018-03-26Merge branch 'raimo/type-posix-0-overhaul/ERL_550/OTP-14019'Raimo Niskanen
* raimo/type-posix-0-overhaul/ERL_550/OTP-14019: Update types for posix error codes
2018-03-26Update types for posix error codesRaimo Niskanen
I have read the man pages for most socket and file operations on recent Linux, FreeBSD, OpenBSD and Solaris 10 and noted the possible error codes. Which error codes that are possible for file operations have been updated in file:posix/0. Error codes for socket operations in inet:posix/0. The latter refers to the former so it is a superset, assuming that e.g sendfile and AF_UNIX socket operations could cause socket operations to return any file error code. That is not entirely true, but could be, especially in the future. Added to file:posix/0 are: ebadmsg edeadlk edeadlock eftype emultihop enobufs enolck enolink enosr enostr enosys eopnotsupp eoverflow erange etxtbsy Added to inet:posix/0 are all but: exbadport exbadseq file:posix() These are still possible according to erl_posix_str.c, but are not in file:posix/0 nor in inet:posix/0, and many of them are not file nor inet related, but some might be: e2big eadv ealign ebade ebadfd ebadr ebadrpc ebadrqc ebadslt ebfont echild echrng ecomm edirty edom edotdot eduppkg eidrm einit eisnam elbin el2hlt el2nsync el3hlt el3rst elibacc elibbad elibexec elibmax elibscn elnrng enavail enet enoano enocsi enodata enoexec enonet enosym enotempty enotnam enotuniq eproclim eprocunavail eprogmismatch eprogunavail erefused eremchg eremdev eremote eremoteio eremoterelease erpcmismatch erremote eshutdown esrmnt esuccesss etime etoomanyrefs euclean eunatch eusers eversion exfull sysnotready vernotsupported ediscon enomore ecancelled einvalidproctable einvalidprovider eproviderfailedinit syscallfailure service_not_found type_not_found e_no_more e_cancelled unknown
2018-03-26Merge pull request #1703 from juhlig/masterHans Bolinder
[ERL-557] add is_empty/1 to sets and ordsets OTP-14996, ERL-557, PR-1703
2018-03-22Merge branch 'maint'Raimo Niskanen
* maint: Updated OTP version Update release notes Update version numbers ssh: Fix bad spec for double_algs() in ssh.hrl Test event insert from init Fix init to allow all actions Conflicts: OTP_VERSION
2018-03-20Merge pull request #1744 from uabboli/hasse/stdlib/lists_search/OTP-14675Hans Bolinder
stdlib: Add function lists:search/2
2018-03-19is_empty/1 for setsj.uhlig
2018-03-19is_empty/1 for ordsetsj.uhlig
2018-03-16mikpe/process_info-1-no-messages/PR-1745/OTP-14986Lukas Larsson
make erlang:process_info/1 not retrieve messages
2018-03-15Fix init to allow all actionsRaimo Niskanen
2018-03-13Merge branch 'sverker/dist-flags-consolidate'Sverker Eriksson
2018-03-13Merge pull request #1743 from richcarl/io-format-multiple-modifiersHans Bolinder
Allow multiple modifier characters in io:format control sequences OTP-14971
2018-03-12Allow multiple modifier characters in io:format control sequencesRichard Carlsson
This makes it possible to print unicode atoms at the same time as suppressing detection of printable lists.
2018-03-10make erlang:process_info/1 not retrieve messagesMikael Pettersson
process_info/1 retrieves a number of properties related to a process, including the list of messages in its mailbox. This is potentially unsafe if the target process has a large number of queued messages: - there is no a priori upper bound on the amount of memory being allocated to hold that list, and - the loop to retrieve the messages is uninterruptible, so the Erlang scheduler where this executes blocks for the duration We've seen process_info/1 bring down heavily loaded nodes on more than one occasion. At least once it appeared to have blocked the Erlang heart process from executing, causing the external heart to kill the VM. Consequently this removes 'messages' from the list of process_info tags to retrieve for process_info/1. Note that process_info/1 still retrieves 'message_queue_len', and process_info/2 can still retrieve 'messages' when asked to. A few places in the OTP libraries need minor adjustments, since they want 'message_queue_len' but compute it from the length of the list of messages.
2018-03-09stdlib: Add function lists:search/2Hans Bolinder
This is essentially PR 102, https://github.com/erlang/otp/pull/102. The OTP Technical Board decided to change the name of the function to search/2.
2018-03-09Merge pull request #1735 from richcarl/io_lib-unscan-fixHans Bolinder
Make io_lib:unscan_format/1 work with pad char and default precision OTP-14958
2018-03-08stdlib: Improve io_lib:limit_term/2Hans Bolinder
Improve handling of maps. Addendum to b57e890.
2018-03-05stdlib: Fix receive-ref optimization for gen_server:callSverker Eriksson
Optimization does not trigger for try-catch. But send cannot fail here anyway, as Process cannot be an atom.
2018-03-02kernel,stdlib: Remove obsolete use of send with 'noconnect'Sverker Eriksson
as workarounds to avoid blocking auto-connect, which is now asynchronous in OTP-21. Also changed old catch to more efficient try-catch.
2018-03-02stdlib: Remove obsolete use of monitor_nodeSverker Eriksson
as fallback when erlang:monitor failed toward primitive nodes, which it does not do in OTP-21.
2018-03-02Make io_lib:unscan_format/1 work with pad char and default precisionRichard Carlsson
2018-03-01Merge branch 'maint'Dan Gudmundsson
* maint: ERL-558 Add the missing function clause for string:prefix (#1702)
2018-03-01ERL-558 Add the missing function clause for string:prefix (#1702)Seyed Mirsadeghi
OTP-14942
2018-02-28Merge branch 'peterdmv/stdlib/improve_uri_string_api/OTP-14910'Péter Dimitrov
* peterdmv/stdlib/improve_uri_string_api/OTP-14910: stdlib: Update uri_string documentation (HTML 5.2) stdlib: Improve URI normalization in uri_string Change-Id: I1b85e125ae3bc64e04b04ab884ca603217123167
2018-02-28Merge branch 'john/erts/binary-bin_to_list-performance-fix/OTP-14741'John Högberg
* john/erts/binary-bin_to_list-performance-fix/OTP-14741: Replace binary:bin_to_list CIF implementation with binary_to_list
2018-02-26Replace binary:bin_to_list CIF implementation with binary_to_listJohn Högberg
binary:bin_to_list had a poor implementation that resulted in excessive garbage collection. binary_to_list is almost identical and has a generally better implementation, so I've replaced binary:bin_to_list's CIF with a thin wrapper around binary_to_list. Granted, binary_to_list has a deprecated indexing scheme, but we're unlikely to ever remote it entirely and it's somewhat easy to move it to the 'binary' module later on.
2018-02-26Merge pull request #1719 from josevalim/jv-faster-dialyzer-md5Hans Bolinder
dialyzer: Compute MD5s using the .beam file (OTP-14937)
2018-02-23Merge pull request #1723 from jhogberg/john/erts/ets-whereis/OTP-14884John Högberg
Add ets:whereis/1 for resolving table names -> tid()
2018-02-23Merge branch 'maint'Hans Bolinder
* maint: stdlib: Correct a minor epp bug
2018-02-22Add ets:whereis/1 for resolving table names -> tid()John Högberg
2018-02-21Fix spec for beam_lib:all_chunks/1José Valim
2018-02-21stdlib: Correct a minor epp bugHans Bolinder
The bug was introduced in 87a0af4 (R18).
2018-02-13stdlib: Update uri_string documentation (HTML 5.2)Péter Dimitrov
- Original link to HTML 5.0 specification was broken as the document was moved when later revisions were released. - Form-urlencoded query string handling conforms to the HTML 5.2 specification that references WHATWG URL (10 Jan 2018). - HTML 5.2 does not specify handling of non-UTF-8 form-urlencoded query strings, but it is still supported as described in HTML 5.0. Change-Id: I44603bb501530b16651ecbb9a26ea64e119f83d9
2018-02-08stdlib: Improve URI normalization in uri_stringPéter Dimitrov
- normalize/1 accepts uri_map() as input type and can return error() if URI parsing fails. - Added normalize/2 that can return a normalized uri_map(). Change-Id: Icdd2e60c15019d3eec2e7bc994cae03066a79194
2018-02-07Merge branch 'hasse/no_get_stacktrace/OTP-14861'Hans Bolinder
* hasse/no_get_stacktrace/OTP-14861: erts: Update abstract format doc with stacktrace variable wx: Do not call erlang:get_stacktrace() tools: Do not call erlang:get_stacktrace() stdlib: Do not call erlang:get_stacktrace() sasl: Do not call erlang:get_stacktrace() runtime_tools: Do not call erlang:get_stacktrace() reltool: Do not call erlang:get_stacktrace() parsetools: Do not call erlang:get_stacktrace() observer: Do not call erlang:get_stacktrace() mnesia: Do not call erlang:get_stacktrace() (cont) mnesia: Do not call erlang:get_stacktrace() kernel: Do not call erlang:get_stacktrace() inets: Do not call erlang:get_stacktrace() eunit: Do not call erlang:get_stacktrace() et: Do not call erlang:get_stacktrace() dialyzer: Do not call erlang:get_stacktrace() debugger: Do not call erlang:get_stacktrace() debugger: Do not try to restore stacktrace common_test: Do not call erlang:get_stacktrace()
2018-02-06stdlib: Do not call erlang:get_stacktrace()Hans Bolinder
2018-02-05Merge branch 'emj/stdlib/tar-repro/PR-1608/OTP-14834'Hans Bolinder
* emj/stdlib/tar-repro/PR-1608/OTP-14834: Add options for creating reproducible tars Return error when unable to make dir
2018-02-02Add options for creating reproducible tarsEric Meadows-Jönsson
2018-01-29Merge branch 'maint'Sverker Eriksson
2018-01-29Merge branch 'sverker/ets-match_spec_run-spec/OTP-14889' into maintSverker Eriksson
2018-01-24Merge branch 'maint'Raimo Niskanen
Conflicts: lib/stdlib/src/gen_statem.erl
2018-01-24Merge branch 'raimo/stdlib/optimize-gen_statem' into maintRaimo Niskanen
* raimo/stdlib/optimize-gen_statem: Optimize plain call response time Correct typo in design principles for gen_statem
2018-01-23stdlib: Fix spec for match_spec_run/2Sverker Eriksson
Matching can be done on any terms.
2018-01-23Merge branch 'maint'Hans Bolinder
* maint: kernel: Correct contracts and a bug in group_history stdlib: Correct contracts dialyzer: Optimize handling of a lot of warnings Conflicts: lib/kernel/src/erl_boot_server.erl
2018-01-22stdlib: Correct contractsHans Bolinder
2018-01-17Merge branch 'maint'Hans Bolinder
* maint: stdlib: Garbage the shell's evaluator process more often
2018-01-16Optimize plain call response timeRaimo Niskanen
2018-01-16stdlib: Garbage the shell's evaluator process more oftenHans Bolinder
A minor fix. If the Erlang shell saves no results (history(0) or results(0)), the evaluator process now garbage collects itself. This means that any huge binaries created by the evaluation are reclaimed faster than before.
2018-01-16Merge branch 'maint'Hans Bolinder
* maint: stdlib: Handle Unicode when formatting stacktraces
2018-01-16Merge branch 'hasse/stdlib/unicode_stacktrace/OTP-14847/ERL-553' into maintHans Bolinder
* hasse/stdlib/unicode_stacktrace/OTP-14847/ERL-553: stdlib: Handle Unicode when formatting stacktraces
2018-01-15Merge branch 'maint'Hans Bolinder
* maint: stdlib: Correct a filelib test case stdlib: Let filelib:find_source() search subdirs