aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2016-08-12Merge branch 'maint'Lukas Larsson
2016-08-12Merge branch 'lukas/erts/fix_init_stop_code_load_race/OTP-13802' into maintLukas Larsson
* lukas/erts/fix_init_stop_code_load_race/OTP-13802: erts/kernel: Fix code loading deadlock during init:stop
2016-08-12erts/kernel: Fix code loading deadlock during init:stopLukas Larsson
When init:stop is called it walks the application hierarchy and terminates each process. Some of these processes may do something while terminating and sometimes that something needs to load some new code in order to work. When this happens the code_server could just be in the process of terminating or the erl_prim_loader could be active. In both these cases the request to load the new code would cause a deadlock in the termination of the system. This commit fixes this by init rejecting attempts to load new code when init:stop has been called and fixing a termination race in the code_server. This however means that the process that tried to do something when told to terminate (for instance logging that it is terminating) will crash instead of loading the code.
2016-08-12Merge branch 'maint'Lukas Larsson
Conflicts: lib/gs/doc/src/Makefile
2016-08-12Merge branch 'binarin/even-more-absolute-paths/PR-1103/OTP-13800' into maintLukas Larsson
* binarin/even-more-absolute-paths/PR-1103/OTP-13800: Use perl discovered by configure Don't make assumptions about build tools paths
2016-08-10Merge branch 'maint'Ingela Anderton Andin
2016-08-10Merge branch 'josevalim/large-binary-strings/PR-1131/OTP-13794'Björn Gustavsson
* josevalim/large-binary-strings/PR-1131/OTP-13794: Move expansion of strings in binaries to v3_core
2016-08-09ssl: Conform to dialyzer specIngela Anderton Andin
2016-08-09Merge branch 'maint'Lukas Larsson
Conflicts: OTP_VERSION
2016-08-09Merge branch 'maint-19' into maintLukas Larsson
Conflicts: lib/ssl/src/ssl.appup.src
2016-08-08Prepare releaseErlang/OTP
2016-08-08Merge branch 'lukas/kernel/fix_os_cmd_background_compat/OTP-13741' into maint-19Erlang/OTP
* lukas/kernel/fix_os_cmd_background_compat/OTP-13741: kernel: Use ^D as eot for os:cmd on unix platforms
2016-08-08Merge branch 'raimo/ssl/version-selection/maint-19/OTP-13753' into maint-19Erlang/OTP
* raimo/ssl/version-selection/maint-19/OTP-13753: Improve version selection
2016-08-08kernel: Use ^D as eot for os:cmd on unix platformsLukas Larsson
This is needed as doing only an 'exit' will only exit the program, but any children started in the program that have stdout/stderr still open will keep the port open until they terminate. i.e. os:cmd("while true; do echo sleep 1; sleep 1; done&"). would block os:cmd forever because the while loop keeps its copies of stdout/stderr open forever. It could be argued that this is correct behaviour, and it is the way it works on windows, but changing this breaks backwards compatability for os:cmd which is not acceptable.
2016-08-08inets: Prepare for releaseIngela Anderton Andin
2016-08-08inets: Fix typo in docIngela Anderton Andin
2016-08-08inets: Add mod_esi test for PUTRaimo Niskanen
2016-08-08inets: Unify mod_esi "PUT" callback inputRaimo Niskanen
Change it to { Input :: string() | undefined, Body :: string() }
2016-08-08inets: Add mod_esi support for PUT AND DELETEIngela Anderton Andin
2016-08-08Merge branch 'maint'Raimo Niskanen
2016-08-08Merge branch 'duncaen/crypto/fix-algo_cipher-array-size/PR-1140/OTP-13789' ↵Raimo Niskanen
into maint * duncaen/crypto/fix-algo_cipher-array-size/PR-1140/OTP-13789: Fix segfault in crypto by increasing algo_cipher array
2016-08-05Merge branch 'maint'Björn Gustavsson
* maint: Update primary bootstrap beam_block: Fix potentially unsafe optimization in move_allocates/1
2016-08-05Merge branch 'bjorn/compiler/not_live/ERL-202/OTP-13780' into maintBjörn Gustavsson
* bjorn/compiler/not_live/ERL-202/OTP-13780: beam_block: Fix potentially unsafe optimization in move_allocates/1
2016-08-05beam_block: Fix potentially unsafe optimization in move_allocates/1Björn Gustavsson
beam_block has an optimization that only is safe when it is applied immediately after code generation. That is pointed out in a comment: NOTE: Moving allocation instructions is only safe because it is done immediately after code generation so that we KNOW that if {x,X} is initialized, all x registers with lower numbers are also initialized. That assumption may not be true after other optimizations, such as the beam_utils:live_opt/1 optimization. The new beam_reorder pass added in OTP 19 runs before beam_block. Therefore, the optimization is potentially unsafe. The optimization is also unsafe if compilation is started from assembly code in a .S file. Rewrite the optimization to make it safe. See the newly added comment for details. ERL-202
2016-08-05Merge branch 'maint'Björn Gustavsson
* maint: Improve format_warning/1 spec
2016-08-05Merge branch 'elbrujohalcon/dialyzer/fix-spec/PR-1134/OTP-13786' into maintBjörn Gustavsson
* elbrujohalcon/dialyzer/fix-spec/PR-1134/OTP-13786: Improve format_warning/1 spec
2016-08-04Merge branch 'maint'Raimo Niskanen
2016-08-04Merge branch 'ellbee/odbc/configure-OS-X-El-Capitan/PR-1137/OTP-13781' into ↵Raimo Niskanen
maint * ellbee/odbc/configure-OS-X-El-Capitan/PR-1137/OTP-13781: Make ODBC configure handle OS X El Capitan
2016-08-04Move expansion of strings in binaries to v3_coreJosé Valim
This speeds up the compilation of binary literals with string values in them. For example, compiling a file with a ~340kB binary would yield the following times by the compiler: Compiling "foo" parse_module : 0.130 s 5327.6 kB transform_module : 0.000 s 5327.6 kB lint_module : 0.011 s 5327.8 kB expand_module : 0.508 s 71881.2 kB v3_core : 0.463 s 11.5 kB Notice the increase in memory and processing time in expand_module and v3_core. This happened because expand_module would expand the string in binaries into chars. For example, the binary <<"foo">>, which is represented as {bin, 1, [ {bin_element, 1, {string, 1, "foo"}, default, default} ]} would be converted to {bin, 1, [ {bin_element, 1, {char, 1, $f}, default, default}, {bin_element, 1, {char, 1, $o}, default, default}, {bin_element, 1, {char, 1, $o}, default, default} ]} However, v3_core would then traverse all of those characters and convert it into an actual binary, as it is a literal value. This patch addresses this issue by moving the expansion of string into chars to v3_core and only if a literal value cannot not be built. This reduces the compilation time of the file mentioned above to the values below: Compiling "bar" parse_module : 0.134 s 5327.6 kB transform_module : 0.000 s 5327.6 kB lint_module : 0.005 s 5327.8 kB expand_module : 0.000 s 5328.7 kB v3_core : 0.013 s 11.2 kB
2016-08-03Fix segfault in crypto by increasing algo_cipher arrayDuncaen
2016-08-02Merge branch 'maint'Raimo Niskanen
2016-08-02Merge branch 'efine/inets/validate-inet6fb4/ERL-200/PR-1132/OTP-13776' into ↵Raimo Niskanen
maint * efine/inets/validate-inet6fb4/ERL-200/PR-1132/OTP-13776: Test inet6fb4 in basic suite Actually verify result of testcase Fix inets_sup_SUITE for local tests Add test for inet6fb4 validation Fix httpd_conf:validate_properties/1 for ipfamily
2016-08-01Merge branch 'maint'Björn-Egil Dahlberg
2016-08-01Merge branch 'comtihon/fprof/fix-gc-tags/PR-1136/OTP-13778' into maintBjörn-Egil Dahlberg
* comtihon/fprof/fix-gc-tags/PR-1136/OTP-13778: fix gc_start\end bug
2016-08-01Merge branch 'maint'Raimo Niskanen
2016-08-01Merge branch 'raimo/SCTP-socket-stats/ERL-102/OTP-13773' into maintRaimo Niskanen
* raimo/SCTP-socket-stats/ERL-102/OTP-13773: Fix SCTP send stats in inet_drv Test inet:getstat/1 dead for SCTP send Fix test suite compilation warnings
2016-08-01Test inet6fb4 in basic suiteRaimo Niskanen
2016-07-29Make ODBC configure handle OS X El CapitanLee Bannard
Change ODBC configure.in script to recognize OS X El Capitan (Darwin v15.x)
2016-07-29Actually verify result of testcaseRaimo Niskanen
2016-07-29Fix inets_sup_SUITE for local testsRaimo Niskanen
2016-07-29fix gc_start\end bugTihon
2016-07-28Add test for inet6fb4 validationEdwin Fine
2016-07-28Test inet:getstat/1 dead for SCTP sendRaimo Niskanen
2016-07-28Fix test suite compilation warningsRaimo Niskanen
2016-07-26Improve format_warning/1 specBrujo Benavides
Let it handle `dial_warning()` input as well, to match what `format_warning/2` expects.
2016-07-26Merge branch 'maint'Björn-Egil Dahlberg
2016-07-26Merge branch 'okumin/kernel/remove-duplicated-line/PR-1119/OTP-13771' into maintBjörn-Egil Dahlberg
* okumin/kernel/remove-duplicated-line/PR-1119/OTP-13771: Remove a duplicated pattern matching in erl_epmd.erl
2016-07-26Merge branch 'maint'Björn-Egil Dahlberg
2016-07-26Merge branch 'lemenkov/kernel/fix-register_ipv6_epmd/PR-1129/OTP-13770' into ↵Björn-Egil Dahlberg
maint * lemenkov/kernel/fix-register_ipv6_epmd/PR-1129/OTP-13770: Respect -proto_dist switch while connection to EPMD
2016-07-25Merge branch 'maint'Raimo Niskanen