aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2017-02-27Update primary bootstrapBjörn Gustavsson
2017-02-27Merge branch 'bjorn/compiler/opt-binary-strings/OTP-14125'Björn Gustavsson
* bjorn/compiler/opt-binary-strings/OTP-14125: v3_core: Combine binary strings to larger integers
2017-02-27v3_core: Combine binary strings to larger integersBjörn Gustavsson
Binary construction that mixes long literal strings with variables will make Dialyzer slow. Example: <<"long string (thousand of characters)",T/binary>> The string literals in binary construction is translated to one binary segment per character; all those segments will slow down Dialyzer. We can speed up Dialyzer if we combine several characters (up to 256) to a signle segment in the binary. It will also slightly speed up the compiler. This optimization will make core listings file with binary strings harder to read, but they were not that easy to read before this change. ERL-308
2017-02-27Merge branch 'egil/pretty-print-maps-smaller/OTP-14239'Björn-Egil Dahlberg
* egil/pretty-print-maps-smaller/OTP-14239: stdlib: Use erts_internal:maps_to_list/2 in io_lib_pretty Update preloaded erts_internal.beam erts: Test erts_internal:maps_to_list/2 erts: Introduce erts_internal:maps_to_list/2
2017-02-24Merge pull request PR-1348 OTP-14238 from margnus1/drop-old-llvmSverker Eriksson
ErLLVM: Drop support for LLVM<3.9 in R20
2017-02-24Merge branch 'maint'Björn Gustavsson
* maint: filename: Add safe_relative_path/1 Conflicts: lib/stdlib/src/filename.erl
2017-02-24Merge pull request #1350 from bjorng/bjorn/stdlib/safe-relative-path/OTP-14215Björn Gustavsson
filename: Add safe_relative_path/1 OTP-14215
2017-02-24Merge branch 'bjorn/stdlib/misc-fixes'Björn Gustavsson
* bjorn/stdlib/misc-fixes: c: Reintroduce support for non-list options in c/2 c: Remove unused import of lists:concat/1
2017-02-23Merge branch 'sverker/enif_select/OTP-13684'Sverker Eriksson
* sverker/enif_select: (31 commits) Remove debug printout and comment Fix nif_SUITE:select for old linux Add docs for enif_compare_monitors and ErlNifMonitor Fix ErlNifMonitor handling Remove faulty debug ASSERT erts: Skip nif_SUITE:select on windows Fix enif_select for windows Fix whitebox monitor tests Fix erl_nif doc Expand nif_SUITE:monitor_frenzy to verify dtor calls Expand nif_SUITE:monitor_frenzy with binary_to_term erts: Avoid revival of dying resource by dec_term erts: Add enif_compare_monitors erts: Try fix enif_select for windows erts: Change return value for enif_select erts: Add pid argument to enif_select erts: Beautify enif_select erts: Fix bad_fd_in_pollset error case for enif_select erts: Add enif_monitor_process and enif_demonitor_process erts: Rename ErlNifResource as ErtsResource ...
2017-02-23Remove debug printout and commentSverker Eriksson
2017-02-23Merge branch 'maint'Sverker Eriksson
2017-02-23Merge branch 'sverker/include-module-literal-size/OTP-14228' into maintSverker Eriksson
again * sverker/include-module-literal-size: erts: Beautify loaded() erts: Fix literal size bug when only old instance exists
2017-02-23stdlib: Use erts_internal:maps_to_list/2 in io_lib_prettyBjörn-Egil Dahlberg
2017-02-23Update preloaded erts_internal.beamBjörn-Egil Dahlberg
2017-02-23erts: Test erts_internal:maps_to_list/2Björn-Egil Dahlberg
2017-02-23erts: Introduce erts_internal:maps_to_list/2Björn-Egil Dahlberg
2017-02-23Merge branch 'hasse/stdlib/sofs_opt/OTP-14157'Hans Bolinder
* hasse/stdlib/sofs_opt/OTP-14157: stdlib: Simplify error handling of the sofs module
2017-02-22Fix nif_SUITE:select for old linuxSverker Eriksson
with pipe capacity equal to PIPE_BUF meaning pipe must be empty to be writable.
2017-02-22Merge branch 'maint'Ingela Anderton Andin
2017-02-22Merge branch 'ingela/ssl/default-ciphers-suites/OTP-14235' into maintIngela Anderton Andin
* ingela/ssl/default-ciphers-suites/OTP-14235: ssl: Always prefer AES over 3DES
2017-02-22Merge branch 'maint'Lukas Larsson
2017-02-22Merge branch 'lukas/kernel/fix_os_cmd_close_race/OTP-14232' into maintLukas Larsson
* lukas/kernel/fix_os_cmd_close_race/OTP-14232: kernel: Fix hanging os:cmd race condition
2017-02-22stdlib: Simplify error handling of the sofs moduleHans Bolinder
Atoms ('badarg', 'type_mismatch', &c) are used as errors instead of tuples containing the parameters. This makes it possible for the garbage collector to reclaim memory earlier. Since the exact format of error tuples is undocumented no release note is deemed necessary.
2017-02-22Merge branch 'maint'Lukas Larsson
2017-02-22Merge branch 'lukas/erts/port_control_emasculate_binary/OTP-14231' into maintLukas Larsson
* lukas/erts/port_control_emasculate_binary/OTP-14231: erts: Emasculate binaries that are scheduled in port_control
2017-02-22Merge branch 'maint'Lukas Larsson
2017-02-22Merge branch 'lukas/kernel/fail-sticky_dir-if-not-sticky' into maintLukas Larsson
* lukas/kernel/fail-sticky_dir-if-not-sticky: kernel: Fail sticky_dir tc if module not sticky
2017-02-22Merge branch 'maint'Hans Bolinder
* maint: [xmerl] Remove faulty throws [xmerl] Fix XML "well-formedness" bug i SAX parser [xmerl] Correct bug handling multiple documents on a stream stdlib: Improve pretty-printing of terms with maps Conflicts: lib/stdlib/test/io_SUITE.erl
2017-02-22Merge pull request #1351 from stevendanna/ssl_session_cache_api_size_docsIngela Andin
Document ssl_session_cache_api's size/1 callback
2017-02-22c: Reintroduce support for non-list options in c/2Björn Gustavsson
Before 0eb45e21d40 it was possible to write (for example): c(m, dcore) instead of the more verbose: c(m, [dcore]) Reintroduce this convenient shortcut.
2017-02-22Merge branch 'maint'Siri Hansen
2017-02-22c: Remove unused import of lists:concat/1Björn Gustavsson
2017-02-22Merge pull request #1349 from srenatus/linkfix-bifsBjörn Gustavsson
Documentation: fix link to erlang(3) man page
2017-02-22Merge branch 'hasse/stdlib/fix_pretty_maps/OTP-14175' into maintHans Bolinder
* hasse/stdlib/fix_pretty_maps/OTP-14175: stdlib: Improve pretty-printing of terms with maps
2017-02-22Add docs for enif_compare_monitors and ErlNifMonitorSverker Eriksson
2017-02-22Merge branch 'lars/xmerl/sax-parser-multi-doc-problem' into maintLars Thorsen
* lars/xmerl/sax-parser-multi-doc-problem: [xmerl] Remove faulty throws [xmerl] Fix XML "well-formedness" bug i SAX parser [xmerl] Correct bug handling multiple documents on a stream OTP-14211 OTP-14213
2017-02-22Merge branch 'siri/ct/get_dirs_from_testspec/OTP-14132' into maintSiri Hansen
* siri/ct/get_dirs_from_testspec/OTP-14132: [ct] Add ct_testspec:get_tests/1
2017-02-22[xmerl] Remove faulty throwsLars Thorsen
2017-02-22[xmerl] Fix XML "well-formedness" bug i SAX parserLars Thorsen
Changed the XML Sax parser behaviour so it returns an error if there are something more in the file after the the matching document. If one using the xmerl_sax_parser:stream() a rest is allowed which then can be sent to a new call of xmerl_sax_parser:stream() to parse next document. This is done to be compliant with XML conformance tests.
2017-02-22[xmerl] Correct bug handling multiple documents on a streamLars Thorsen
Change how to interpret end of document to comply with Tim Brays comment on the standard. This makes it possible to handle more than one doc on a stream, the standard makes it impossible to know when the document is ended without waiting for the next document (and not always even that). Tim Brays comment about the trailing "Misc" rule: The fact that you're allowed some trailing junk after the root element, I decided (but unfortunately too late) is a real design error in XML. If I'm writing a network client, I'm probably going to close the link as soon as a I see the root element end-tag, and not depend on the other end closing it down properly. Furthermore, if I want to send a succession of XML documents over a network link, if I find a processing instruction after a root element, is it a trailer on the previous document, or part of the prolog of the next?
2017-02-21ssl: Always prefer AES over 3DESIngela Anderton Andin
AES256 was preferred over 3DES already, so this only makes sure AES128 is preferred over 3DES also. This changes the default but probably nobody will notice as a better algorithm will be chosen anyhow.
2017-02-21Merge branch 'maint'Björn-Egil Dahlberg
2017-02-21Merge branch 'legoscia/erl_interface/doc-no-tuple-funs/PR-1343/OTP-14233' ↵Björn-Egil Dahlberg
into maint * legoscia/erl_interface/doc-no-tuple-funs/PR-1343/OTP-14233: Documentation: tuple funs are unsupported
2017-02-21erts: Beautify loaded()Sverker Eriksson
by removing some unnecessary conditions and remove unused and faulty summation for 'cur' and 'old'.
2017-02-21erts: Fix literal size bug when only old instance existsSverker Eriksson
fix for already merged but not releases 808b2f4d53e446aed07f85716c5c4b85abb3d18a
2017-02-21Document ssl_session_cache_api's size/1 callbackSteven Danna
The size/1 callback was added as a non-optional callback in 42b8a29dbae1d626f32bc16dd81a129caf741138 but wasn't added to the documentation for the ssl_session_cache_api behavior. Signed-off-by: Steven Danna <[email protected]>
2017-02-21kernel: Fix hanging os:cmd race conditionLukas Larsson
If the port terminates before Port ! close is issued, there will be no 'closed' reply, so the old code would hang. As it turns out there is no way to figure out if a closed reply is supposed to come as that reply is sent after all links and monitors are triggered. So we have to use the synchronous port_close to close the port.
2017-02-21stdlib: Improve pretty-printing of terms with mapsHans Bolinder
As of committing this branch maps:fold/3 calls maps:to_list/1, which means that the time and memory needed for printing maps is not always proportional to the size of the generated deep list of characters.
2017-02-21erts: Emasculate binaries that are scheduled in port_controlLukas Larsson
2017-02-21filename: Add safe_relative_path/1Björn Gustavsson
Add safe_relative_path/1 to guard against directory traversal attacks. It either returns a shorter path without any ".." or "." components, or 'unsafe' if an ".." component would climb up above the root of the relative path. Here are a few examples: safe_relative_path("a/b/..") => "a" safe_relative_path("a/..") => "" safe_relative_path("a/../..") => unsafe safe_relative_path("/absolute/path") => unsafe The returned path can be used directly or combined with an absolute path using filename:join/2.