aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2010-05-06Make beam_lib:cmp/2 stricterBjörn Gustavsson
The beam_lib:cmp/2 function only compares the executable parts of the BEAM files, not attributes or abstract code. Since the types and specs (used by Dialyzer) are contained in the abstract code, beam_lib:cmp/2 will return 'ok' if the only difference between two BEAM file are in the types or specs. If an Erlang/OTP system is installed in a revision control system, and beam_lib:cmp/2 is used to avoid committing unchanged but newly compiled BEAM files, BEAM files with no other changes than in types or specs may not get updated, which can problems if Dialyzer or the debugger is run. To avoid that problem, change beam_lib:cmp/2 to compare all chunks *except* for the "CInf" chunk. The "CInf" chunk contains the compilation time, compiler options, and compiler version.
2010-05-05OTP-8581 Revert prototype of driver_asyncPatrik Nyblom
2010-05-04Merge branch 'rd/erlang-eunit' into devErlang/OTP
* rd/erlang-eunit: erlang-eunit.el: Require cl, as it is used
2010-05-04Merge branch 'ms/inet_gethost-safe-debug-output' into devErlang/OTP
* ms/inet_gethost-safe-debug-output: Truncate debug messages OTP-8615 ms/inet_gethost-safe-debug-output
2010-05-04Merge branch 'sv/env-with-equal-sign' into devErlang/OTP
* sv/env-with-equal-sign: allow open_port to set env vars containing a trailing '=' character OTP-8614 sv/env-with-equal-sign The erlang:open_port spawn and spawn_executable directives can include an {env,Env} directive to set up environment variables for the spawned process. A bug prevented applications from using {env,Env} to set an environment variable whose value ended with a '=' (equal sign) character; the trailing equal sign was mistaken as an indication that an environment variable was to be cleared from the environment of the spawned process. (Thanks to Steve Vinoski.)
2010-05-03Add type info for erlang:load_nif/2Kostis Sagonas
2010-05-03Truncate debug messagesMichael Santos
When the undocumented ERL_INET_GETHOST_DEBUG environment variable is set to 5, very long hostnames can overflow the buffer used to construct the debug message. Truncate debug messages if they exceed the size of the buffer. export ERL_INET_GETHOST_DEBUG=5 inet:gethostbyname(lists:duplicate(5000,"x")).
2010-05-03allow open_port to set env vars containing a trailing '=' characterSteve Vinoski
The erlang:open_port spawn and spawn_executable directives can include an {env, Env} directive to set up environment variables for the spawned process. A bug in ert/emulator/sys/unix/sys.c prevented applications from using {env, Env} to set an environment variable whose value ended with a '=' (equal sign) character; the code mistook the trailing equal sign as an indication that an environment variable was to be cleared from the environment of the spawned process. For example, passing an {env, Env} of {env, [{"foo", "bar="}]} would result in the code in sys.c seeing a string of the form "foo=bar=" The code would see the final '=' character and assume the directive wanted to clear a variable named "foo=bar" from the environment of the spawned process, rather than seeing it as a directive to set the environment variable "foo" to the value "bar=". Fix this problem and add a new regression test for it to the port test suite.
2010-05-02Merge branch 'bg/remove-stray-ose-support' into devErlang/OTP
* bg/remove-stray-ose-support: configure: Remove stray OSE/Delta support Makefiles: Remove stray OSE/Delta support kernel tests: Remove stray OSE/Delta support system tests: Remove stray OSE/Delta support erl_interface tests: Remove stray OSE/Delta support epmd: Remove stray OSE/Delta support epmd: #ifdef out start_epmd() for other platforms than VxWorks emulator tests: Remove stray OSE/Delta support emulator: Remove stray OSE/Delta support emulator: Eliminate #ifdef for sys_tty_reset() test_server: Remove stray support for OSE/Delta OTP-8585 bg/remove-stray-ose-support
2010-04-30Fix mispelled type name in spec for ets:to_dets/2Björn Gustavsson
2010-04-30configure: Remove stray OSE/Delta supportBjörn Gustavsson
2010-04-30Makefiles: Remove stray OSE/Delta supportBjörn Gustavsson
2010-04-30kernel tests: Remove stray OSE/Delta supportBjörn Gustavsson
2010-04-30system tests: Remove stray OSE/Delta supportBjörn Gustavsson
2010-04-30erl_interface tests: Remove stray OSE/Delta supportBjörn Gustavsson
2010-04-30epmd: Remove stray OSE/Delta supportBjörn Gustavsson
2010-04-30epmd: #ifdef out start_epmd() for other platforms than VxWorksBjörn Gustavsson
There is no reason to define a function that is never used.
2010-04-30emulator tests: Remove stray OSE/Delta supportBjörn Gustavsson
2010-04-30emulator: Remove stray OSE/Delta supportBjörn Gustavsson
2010-04-30emulator: Eliminate #ifdef for sys_tty_reset()Björn Gustavsson
In the erts/emulator/beam sources #ifdef SOME_OPERATING_SYSTEM should be avoided. Instead, call a function implemented in sys/OPERATING_SYSTEM/sys.c.
2010-04-30test_server: Remove stray support for OSE/DeltaBjörn Gustavsson
Remove code supporting testing on OSE/Delta. Some cross-testing support only used by OSE/Delta is kept (see the mention of OSE in test_server_internal.hrl), because it could presumably be useful in the future if we are to test some other embedded system.
2010-04-29Merge branch 'ks/kernel' into devErlang/OTP
* ks/kernel: kernel: Clean up as suggested by tidier OTP-8606 ks/kernel
2010-04-29Started to prepare for next versionIngela Anderton Andin
2010-04-29OTP-8588 Alert and packet handling improvmentIngela Anderton Andin
Alert handling has been improved to better handle unexpected but valid messages and the implementation is also changed to avoid timing related issues that could cause different error messages depending on network latency. Packet handling was sort of broken but would mostly work as expected when socket was in binary mode. This has now been fixed.
2010-04-28OTP-8542: HTTP client memory leakMicael Karlberg
OTP-8607: https default port not handled
2010-04-28OTP-8333 Crypto using NIF'sSverker Eriksson
crypto application changed to use NIFs instead of driver.
2010-04-28OTP-8591 Race in mseg cashe on non-SMP with async threadsSverker Eriksson
Fix memory management bug causing crash of non-SMP emulator with async threads enabled. The bug did first appear in R13B03.
2010-04-28OTP-8474 NIF improvements after R13B04Sverker Eriksson
New NIF API function enif_make_new_binary
2010-04-28kernel: Clean up as suggested by tidierKostis Sagonas
2010-04-28Merge branch 'hawk/reltool' into devErlang/OTP
* hawk/reltool: Make some cleanups Ensure that {error, Reason} is returned even when server dies Introduced a new embedded_app_type option Removed spurious CDATA in documentation Automatically include applications that must be started Add app test SUITE Add app and appup files to reltool Add function to return status about the configuration Improved handling of applications explicitly included releases Created escript for simplified usage from makefiles OTP-8590 hawk/reltool
2010-04-27Merge branch 'bg/compiler-suppress-result-ignored' into devErlang/OTP
* bg/compiler-suppress-result-ignored: compiler tests: Eliminate "result of expression is ignored" warnings Silence warnings for expressions that are assigned to "_" OTP-8602 bg/compiler-suppress-result-ignored It is now possible to suppress the warning in code such as "list_to_integer(S), ok" by assigning the ignored value "_" like this: "_ = list_to_integer(S), ok".
2010-04-27OTP-8564 Update deprecation statusMicael Karlberg
Deprecated functions designated to be removed in R14 has been removed. Also, some new functions has been marked as deprecated (the old http client api module).
2010-04-23OTP-8561: A minor compiler related performance improvement.Micael Karlberg
2010-04-23Merge branch 'ta/code_clash-filter-error' into devErlang/OTP
* ta/code_clash-filter-error: code:clash/0: match correct return value from erl_prim_loader:list_dir/1
2010-04-23Merge branch 'ta/asn1-gratuitous-output' into devErlang/OTP
* ta/asn1-gratuitous-output: Remove gratuitous ok report in asn1ct
2010-04-23Merge branch 'ta/nested-records' into devErlang/OTP
* ta/nested-records: Document R14 paren-less record access/update Support nested record field access without parentheses OTP-8597 ta/nested-records Nested records can now be accessed without parenthesis. See the Reference Manual for examples. (Thanks to YAMASHINA Hio and Tuncer Ayaz.)
2010-04-22Make some cleanupsHåkan Mattsson
2010-04-22OTP-8596 added ticket (removed deprecated modules/functions)Niclas Eklund
2010-04-21Merge branch 'ms/re_infinite_loop' into devErlang/OTP
* ms/re_infinite_loop: Add testcase for infinite loop problem caused by reset of match_call_count re: Fix non-termination for a certain regular expression OTP-8589 Pcre may hang on a special regexp A bug in re that could cause certain regular expression matches never to terminate is corrected. (Thanks to Michael Santos and Gordon Guthrie.)
2010-04-21Removed deprecated functions and moduleNiclas Eklund
2010-04-21Changes after ssh-1.1.8Niclas Eklund
2010-04-21OTP-8542: Merge from dev-branch.Micael Karlberg
2010-04-21New branch for ssh-2.0 and laterNiclas Eklund
2010-04-20Document R14 paren-less record access/updateTuncer Ayaz
Add a section to the reference manual describing the R14 change to not require parentheses when accessing or updating fields in nested records. Signed-off-by: Tuncer Ayaz <[email protected]>
2010-04-20Support nested record field access without parenthesesTuncer Ayaz
Original patch from YAMASHINA Hio posted to erlang-patches@ on Tue Jun 12 11:27:53 CEST 2007: http://www.erlang.org/pipermail/erlang-patches/2007-June/000182.html http://fleur.hio.jp/pub/erlang/record2.patch Only had to do minor changes to port the patch to the current R14A development tree. Also added compiler/record_SUITE:nested_access/2 to test nested record access with or without parentheses. With this change the following will work. -record(nrec0, {name = <<"nested0">>}). -record(nrec1, {name = <<"nested1">>, nrec0=#nrec0{}}). -record(nrec2, {name = <<"nested2">>, nrec1=#nrec1{}}). nested_access() -> N0 = #nrec0{}, N1 = #nrec1{}, N2 = #nrec2{}, <<"nested0">> = N0#nrec0.name, <<"nested1">> = N1#nrec1.name, <<"nested2">> = N2#nrec2.name, <<"nested0">> = N1#nrec1.nrec0#nrec0.name, <<"nested0">> = N2#nrec2.nrec1#nrec1.nrec0#nrec0.name, <<"nested1">> = N2#nrec2.nrec1#nrec1.name, <<"nested0">> = ((N2#nrec2.nrec1)#nrec1.nrec0)#nrec0.name, N1a = N2#nrec2.nrec1#nrec1{name = <<"nested1a">>}, <<"nested1a">> = N1a#nrec1.name, N2a = N2#nrec2.nrec1#nrec1.nrec0#nrec0{name = <<"nested0a">>}, N2b = ((N2#nrec2.nrec1)#nrec1.nrec0)#nrec0{name = <<"nested0a">>}, <<"nested0a">> = N2a#nrec0.name, N2a = N2b, ok. Signed-off-by: Tuncer Ayaz <[email protected]>
2010-04-20Merge branch 'bg/compiler-fmove-opt' into devErlang/OTP
* bg/compiler-fmove-opt: beam_type: Improve coalescing of fmove/2 and move/2 instructions
2010-04-20Add testcase for infinite loop problem caused by reset of match_call_countPatrik Nyblom
2010-04-20re: Fix non-termination for a certain regular expressionMichael Santos
The following code never terminates: fail() -> Str = "http:/www.flickr.com/slideShow/index.gne?group_id=&user_id=69845378@N0", EMail_regex = "[a-z0-9!#$%&'*+/=?^_`{|}~-]+" ++ "(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*" ++ "@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+" ++ "(?:[a-zA-Z]{2}|com|org|net|gov|mil" ++ "|biz|info|mobi|name|aero|jobs|museum)", io:format("about to run...~n"), Ret = re:run(Str, EMail_regex), io:format("Ret is ~p~n", [Ret]). Fix it by having pcre_exec remember match_call_count between restarts. Reported-by: Gordon Guthrie Acked-by: Patrik Nyblom
2010-04-19Merge branch 'bg/deprecations' into devErlang/OTP
* bg/deprecations: test suites: Remove incidental use of deprecated concat_binary/1 Postpone removal of concat_binary/1 Remove deprecated lists:flat_length/1 OTP-8584 bg/deprecations
2010-04-19Prepare for releaseDan Gudmundsson