aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2011-08-30Improve performance of upgrade when many processes have old codeSiri Hansen
This commit utilizes the new bif erlang:check_old_code/1 to check if a module has old code in the system or not before running erlang:check_process_code/2. This is to optimize release_handler:install_release (and release_handler:check_install_release). A new test is added which checks that after traversing all processes/modules once and purging all old code, the second run through this part of the code is "sufficiently" much faster. A note is also added in the reference manual for release_handler:install_release about how to go around the efficiency problem of this function.
2011-08-26Merge branch 'hb/inet_types_and_specs/OTP-9260' into devHans Bolinder
* hb/inet_types_and_specs/OTP-9260: Improve types and specifications of the inet modules
2011-08-26Merge branch 'bjorn/erts/old-code-checking-improvements/OTP-9495' into devBjörn Gustavsson
* bjorn/erts/old-code-checking-improvements/OTP-9495: code: Optimize purge/1 and soft_purge/1 using check_old_code/1 Add erlang:check_old_code/1 check_process_code/2: Quickly return 'false' if there is no old code
2011-08-26code: Optimize purge/1 and soft_purge/1 using check_old_code/1Björn Gustavsson
While at it, eliminate an unnecessary use of throw/catch in the implementation of soft_purge/1.
2011-08-25Improve types and specifications of the inet modulesHans Bolinder
2011-08-25Add erlang:check_old_code/1Björn Gustavsson
Add erlang:check_old_code/1 to quickly check whether a module has old code. If there is no old code, there is no need to call erlang:check_process_code/2 for all processes, which will save some time if there are many processes.
2011-08-25check_process_code/2: Quickly return 'false' if there is no old codeBjörn Gustavsson
There is no need to suspend the process if the module has no old code. Measurements show that this change will make erlang:check_process_code/2 in an SMP emulator about four times faster if the module has no old code.
2011-08-24Merge branch 'anders/diameter/augment_inherited_enums/OTP-9469' into devAnders Svensson
* anders/diameter/augment_inherited_enums/OTP-9469: Allow @enum when AVP is defined in an inherited dictionary.
2011-08-24Merge branch 'anders/diameter/optional_appid_in_spec/OTP-9467' into devAnders Svensson
* anders/diameter/optional_appid_in_spec/OTP-9467: @id required in dictionary files only when @messages is specified.
2011-08-24Merge remote branch 'upstream/dev' into devAnders Svensson
2011-08-24Merge branch 'hw/update-chmod-without-f' into devHenrik Nord
* hw/update-chmod-without-f: Again: Call chmod without the "-f" flag OTP-9491
2011-08-24Merge branch 'ao/fix-percept-msgs' into devHenrik Nord
* ao/fix-percept-msgs: Fix message handling in select requests Add demonitor to avoid keeping DOWN message in the queue OTP-9490
2011-08-24Fix message handling in select requestsAhmed Omar
percept_db used to send results in untagged messages, and use a non selective receive to extract them. When percept is used from the shell process, this can confuse other messages with the actual result. Add a tag to the message to be {result, Result}.
2011-08-24Add demonitor to avoid keeping DOWN message in the queueAhmed Omar
fix one spec in do_start/0
2011-08-24Merge branch 'sa/dialyzer-server-loop-fix' into devHenrik Nord
* sa/dialyzer-server-loop-fix: Fix server loop detection OTP-9489
2011-08-24Merge branch 'rc/r14-gc-fix' into devHenrik Nord
* rc/r14-gc-fix: fix 64-bit issues in the garbage collection OTP-9488
2011-08-24Merge branch 'ta/nif-strict-aliasing' into devHenrik Nord
* ta/nif-strict-aliasing: erts: use a union to avoid strict aliasing issues erts: adapt matrix_nif to R14 erl_nif API changes OTP-9487
2011-08-23Merge branch 'gs/yecc-example' into devHenrik Nord
* gs/yecc-example: Fix incorrect order of pseudo variables in yecc example OTP-9484
2011-08-23Merge branch 'sa/dialyzer-small-fixes' into devHenrik Nord
* sa/dialyzer-small-fixes: Fix dialyzer warning on default clause for binary comprehension Update results of race_SUITE/extract_translations Update results of small_SUITE/flatten Add codec_can and list_to_bitstring tests Fix bug when reporting unused functions Update Dialyzer's r9c_suite results OTP-9483
2011-08-23Merge branch 'nick/ssh/stop_channel_tampers_with_trap_exit_flag/OTP-9386' ↵Niclas Eklund
into dev * nick/ssh/stop_channel_tampers_with_trap_exit_flag/OTP-9386: Corrected year in license header. OTP-9386 - Calling ssh_sftp:stop_channel/1 resulted in that the trap_exit flag was set to true for the invoking process.
2011-08-23Merge branch 'nick/lht-idl-compiler-opt/OTP-9460' into devNiclas Eklund
* nick/lht-idl-compiler-opt/OTP-9460: [IC] Changed version, added release note and updated license headers. ic: Fix typo, #ifudef -> #ifndef
2011-08-23Fix missing comma in code exampleRaimo Niskanen
Courtesy of William B. Morgan at Bigpoint Inc.
2011-08-19Merge branch 'hb/correction_zip_open/OTP-9472' into devHans Bolinder
* hb/correction_zip_open/OTP-9472: Fix a bug in zip:zip_open/1,2.
2011-08-18Fix incorrect order of pseudo variables in yecc examplegarrett
The example is for converting from infix to prefix. This change uses to correct ordering of the triplet.
2011-08-18[IC] Changed version, added release note and updated license headers.Niclas Eklund
2011-08-18Fix a bug in zip:zip_open/1,2.Hans Bolinder
zip:zip_open/1,2 did not accept binary archives. Also corrected the contracts of t/1 and tt/1.
2011-08-18Merge branch 'hb/correction_of_zip_contracts/OTP-9471' into devHans Bolinder
* hb/correction_of_zip_contracts/OTP-9471: Correct contracts in the zip module
2011-08-18Merge branch 'hb/et/remove_dialyzer_warnings/OTP-9470' into devHans Bolinder
* hb/et/remove_dialyzer_warnings/OTP-9470: Remove Dialyzer warnings
2011-08-17Correct contracts in the zip moduleHans Bolinder
The contracts of zip:zip_list_dir/1 and zip:zip_get/2 have been corrected.
2011-08-17Merge branch 'ia/odbc/skip-tests-because-of-driver-issues' into devIngela Anderton Andin
* ia/odbc/skip-tests-because-of-driver-issues: Skip test if not applicable
2011-08-17Remove Dialyzer warningsHans Bolinder
2011-08-17Allow @enum when AVP is defined in an inherited dictionary.Anders Svensson
3GPP standards (for one) extend the values allowed for RFC 3588 AVP's of type Enumerated. Previously, extending an AVP was only possible by completely redefining the AVP.
2011-08-17@id required in dictionary files only when @messages is specified.Anders Svensson
@id defines an application identifier and this is used only when sending or receiving messages. A dictionary can define only AVP's however, to be included by other dictionaries using @inherits, in which case it makes no sense to require @id. Note that message definitions are not inherited with @inherits, only AVP's
2011-08-17Fix dialyzer warning on default clause for binary comprehensionIvan Dubrov
Fixed dialyzer warning occuring on binary comprehension of form "<< <<>> || {A, B} <- [{a, b}] >>" caused by default clause inserted by compiler. Since this clause is different from the case of list comprehension, dialyzer fails to suppress that warning.
2011-08-17ic: Fix typo, #ifudef -> #ifndefHaitao Li
2011-08-16Merge remote branch 'upstream/dev' into devAnders Svensson
2011-08-16Merge branch 'kj/eunit-surefire-fixes' into devHenrik Nord
* kj/eunit-surefire-fixes: Generate separate surefire XMLs for each test suite OTP-9465
2011-08-16Merge branch 'cr/trivia' into devHenrik Nord
* cr/trivia: replace "a ssl" with "an ssl" reindent pkix_path_validation/3 Trivial documentation fixes OTP-9464
2011-08-16Merge branch 'rc/edoc-minor' into devHenrik Nord
* rc/edoc-minor: forgot to ensure that xmerl is found in path for include_lib to work fix -spec declaration that doesn't work in R13B04 eliminate warnings about unused imports removed CVS-keywords from source files synchronized with edoc development version OTP-9463
2011-08-16Merge branch 'hb/stdlib/contract_correction/OTP-9450' into devHans Bolinder
* hb/stdlib/contract_correction/OTP-9450: Correct the contract of timer:now_diff/2
2011-08-15erts: use a union to avoid strict aliasing issuesTuncer Ayaz
Use a union for pointer type conversion to avoid compiler warnings about strict-aliasing violations with gcc-4.1. gcc >= 4.2 does not emit the warning. TODO: Reconsider use of union once gcc-4.1 is obsolete?
2011-08-15erts: adapt matrix_nif to R14 erl_nif API changesTuncer Ayaz
2011-08-15fix 64-bit issues in the garbage collectionRichard Carlsson
We discovered that if a single Erlang process tried to grow above 32 GB (i.e., more 64-bit words than can be counted by a 32-bit number), the VM failed to find the next larger heap size, even though there were plenty more heap sizes left to pick from and even though we had a lot more memory available on the machine. (Obviously, this is only applicable on 64-bit Erlang.) It turned out to be due to some 'int' variables in the heap resizing parts of erl_gc.c not being properly updated to 'Uint' or 'Sint'. Once that was fixed, I got segfaults instead as soon as the heap got larger than 2^32 words, due to even more 'int' declarations in the same file, but now in the GC code. After fixing this as well, I successfully ran an Erlang node in which a single Erlang process had a heap so large that I'm not at liberty to divulge the exact size, but I think the scientific term is "humongous", and I'm confident that there are no further immediate problems with very very large individual process heaps.
2011-08-15Correct the contract of timer:now_diff/2Hans Bolinder
The contract of timer:now_diff() has been corrected. (Thanks to Alex Morarash).
2011-08-15Merge branch 'nick/lht-idl-compiler-opt/OTP-9460' into devNiclas Eklund
* nick/lht-idl-compiler-opt/OTP-9460: Changed version, added release note and updated license headers. ic: Implement multiple include optimization ic: Fix preprocessor double expanded included files ic: Improve ic_pragma performance by using ets:match
2011-08-11Changed version, added release note and updated license headers.Niclas Eklund
2011-08-10Merge branch 'lars/xmerl/attr_val_bug/OTP-9411' into devLars Thorsen
* lars/xmerl/attr_val_bug/OTP-9411: Added test case for ticket 9411. Entity replacement in attributes doesn't work poperly.
2011-08-10Merge branch 'lars/xmerl/cant_locate_xsd/OTP-9410' into devLars Thorsen
* lars/xmerl/cant_locate_xsd/OTP-9410: Added ticket test case. Fixed problem with relative paths to schemas.
2011-08-09Added test case for ticket 9411.Lars Thorsen
2011-08-09Entity replacement in attributes doesn't work poperly.Lars Thorsen