aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2011-08-17ic: Fix typo, #ifudef -> #ifndefHaitao Li
2011-07-31ic: Implement multiple include optimizationHaitao Li
Like C header files, IDL files are often macro guarded to avoid opening and processing the same file repeatedly. This patch implements the algorithm used by GNU cpp as described at: http://gcc.gnu.org/onlinedocs/cppinternals/Guard-Macros.html
2011-07-27ic: Fix preprocessor double expanded included filesHaitao Li
New lines are pushed to output inconsistently with "\n" or $\n. This confuses only_nls/1, which tests if the file just expanded are all skipped. This patch consistently pushes character $\n to output, instead of string "\n" to further improve efficiency.
2011-07-27ic: Improve ic_pragma performance by using ets:matchHaitao Li
`ets:tab2list/1` followed by list comprehension is used in a few places in module ic_pragma. This introduces significant performance impact on large lists.
2011-07-15Merge branch 'maint-r14' into devMicael Karlberg
2011-07-13Merge branch 'sverker/gen_sctp-open-docfix' into devSverker Eriksson
* sverker/gen_sctp-open-docfix: Fix small error in example code of gen_sctp documentation
2011-07-13Merge branch 'sverker/enif_make_int64-halfword/OTP-9394' into devSverker Eriksson
* sverker/enif_make_int64-halfword/OTP-9394: Fix halfword bug in enif_make_int64
2011-07-12Merge branch 'maint-r14' into devSverker Eriksson
Conflicts: erts/vsn.mk
2011-07-12Merge branch 'bmk/snmp/agent/wrong_default_transport_domain/OTP-9425' into ↵Erlang/OTP
maint-r14 * bmk/snmp/agent/wrong_default_transport_domain/OTP-9425: [agent] Did not handle transport domains properly in some cases, for instance trap sending. OTP-9400 [agent] Wrong default transport domain, snmpUDPDomain, instead of transportDomainUdpIpv4. [agent] Did not handle transport domains properly in some cases, for instance trap sending.
2011-07-11Prepare releasemaint-r14b03Erlang/OTP
2011-07-11Merge branch 'rickard/sbmbc/OTP-9339' into maint-r14Erlang/OTP
* rickard/sbmbc/OTP-9339: Use separate memory carriers for small blocks
2011-07-11Merge branch 'sverker/ets_delete-deadlock-race/OTP-9423' into maint-r14Erlang/OTP
* sverker/ets_delete-deadlock-race/OTP-9423: Fix bug in ets:delete for write_concurrency that could lead to deadlock
2011-07-11Merge branch 'sverker/trace-ms-invalid-op/OTP-9422' into maint-r14Erlang/OTP
* sverker/trace-ms-invalid-op/OTP-9422: Fix a match-spec trace bug that could cause emulator crash
2011-07-11Merge branch 'siri/stdlib/count_children_memory-notsup/OTP-9426' into devSiri Hansen
* siri/stdlib/count_children_memory-notsup/OTP-9426: Make sure supervisor_SUITE:count_children_memory is always skipped when erlang:memory is not supported
2011-07-11Merge branch 'siri/sasl/delete-module-fail/OTP-9417' into devSiri Hansen
* siri/sasl/delete-module-fail/OTP-9417: Allow appup instruction delete_module module which is not loaded
2011-07-08Use separate memory carriers for small blocksRickard Green
2011-07-08Make sure supervisor_SUITE:count_children_memory is always skipped when ↵Siri Hansen
erlang:memory is not supported Replace the count_children_allocator_test with try erlang:memory in order to make sure there is no attempt at running this test case if erlang:memory is not supported.
2011-07-08[agent] Did not handle transport domains properly in some cases,Micael Karlberg
for instance trap sending. OTP-9400 [agent] Wrong default transport domain, snmpUDPDomain, instead of transportDomainUdpIpv4. OTP-9425
2011-07-08[agent] Wrong default transport domain, snmpUDPDomain, insteadMicael Karlberg
of transportDomainUdpIpv4. OTP-9425
2011-07-08[agent] Did not handle transport domains properly in some cases,Micael Karlberg
for instance trap sending. OTP-9400
2011-07-07Fix a match-spec trace bug that could cause emulator crashSverker Eriksson
A trace matchspec with 'enable_trace' or 'disable_trace' in body could cause an emulator crash if a concurrent process altered the trace setting of the traced function by calling erlang:trace_pattern. The effect was a deallocation of the binary holding the matchspec program while it was running. Fixed by increasing reference count of ms-binary in the cases when 'enable_trace' or 'disable_trace' may cause a system block that may alter the ongoing trace. The paradox here is that db_prog_match() is using erts_smp_block_system() to do 'enable_trace' and 'disable_trace' in a safe (atomic) way. But that also have the (non-atomic) effect that racing thread might block the system and change the trace settings with erlang:trace_pattern.
2011-07-07Fix bug in ets:delete for write_concurrency that could lead to deadlockSverker Eriksson
Relocking in ets_delete_1() and remove_named_tab() was done by unlocking the table without clearing the is_thread_safe flag. A racing thread could then read-lock the table and then incorrectly write-unlock the table as db_unlock() looked at is_thread_safe to determine which kind of lock to unlock. Several fixes: 1. Make db_unlock() use argument 'kind' instead of is_thread_safe to determine lock type. 2. Make relock logic use db_lock() and db_unlock() instead of directly accessing lock primitives. 3. Do ownership transfer earlier in ets_delete_1 to avoid racing owner process to also start deleting the same table.
2011-07-07Merge branch 'maint-r14' into devIngela Anderton Andin
2011-07-07Merge branch 'hb/stdlib/queue_contracts/OTP-9418' into devHans Bolinder
* hb/stdlib/queue_contracts/OTP-9418: Modify the contracts of the queue module
2011-07-07Allow appup instruction delete_module module which is not loadedSiri Hansen
The appup instruction 'delete_module' would cause a crash during upgrade if the module to be deleted was not loaded. The reason was that the release_handler tried to read the version number of the old module after the code path had changed to point to the new version of the application. Thus, if the module had not been loaded before the upgrade, there would no longer be any such module in the path (delete_module indicates that the module is deleted from the new version of the application). This is corrected by letting the release_handler read the old version of the module only if the module is updated - not if it is removed. And it is always read before the code path is changed.
2011-07-07Merge branch 'hb/tools/xref_doc_fixes/OTP-9416' into devHans Bolinder
* hb/tools/xref_doc_fixes/OTP-9416: Fix bugs in xref(3)
2011-07-07Merge branch 'hb/scanner_bug/OTP-9412' into devHans Bolinder
* hb/scanner_bug/OTP-9412: Fix a bug in erl_scan:set_attribute/3
2011-07-07Modify the contracts of the queue moduleHans Bolinder
The contracts of the queue module have been re-written as to avoid some issues concerning Dialyzer and opaque types.
2011-07-06Fix a bug in erl_scan:set_attribute/3Hans Bolinder
2011-07-06Merge branch 'ia/ssl/session-table-clean-up/OTP-9346' into maint-r14Erlang/OTP
* ia/ssl/session-table-clean-up/OTP-9346: The clean up of the session table now works as intended.
2011-07-06The clean up of the session table now works as intended.Ingela Anderton Andin
In ssl-4.1.5 temporary clean-up processes would crash resulting in that the session table would not be cleaned up (e.i. using more and more memory) and error reports would be printed, but connections would not be affected.
2011-07-06Merge branch 'siri/sasl/new-app-vsn-path/OTP-9402' into devSiri Hansen
* siri/sasl/new-app-vsn-path/OTP-9402: Update code path for all applications that have new versions in a release
2011-07-06Merge branch 'hb/spec_bug/OTP-9413' into devHans Bolinder
* hb/spec_bug/OTP-9413: Correct the contract of io_lib:fread/2,3
2011-07-06Fix bugs in xref(3)Hans Bolinder
Thanks to Matthias Lang.
2011-07-06Merge branch 'ia/ssl/connect-twice' into devIngela Anderton Andin
* ia/ssl/connect-twice: Added test case
2011-07-06Merge branch 'ia/ssl/improved-test-case' into devIngela Anderton Andin
* ia/ssl/improved-test-case: Improved test case so that it will not fail due to last_delay_timer = undefined
2011-07-05Correct the contract of io_lib:fread/2,3Hans Bolinder
2011-07-04Update code path for all applications that have new versions in a releaseSiri Hansen
If a new version of an application did not include any erlang module changes, the code path of the application was not updasted unless a 'load_object_code' instruction was added for the application. This would be a problem if e.g. only some files in the priv dir were changed, since calls to code:lib_dir or code:priv_dir would then point to the old location of the application. This has been corrected - now code:replace_path/2 will be called for all applications that are changed (i.e. when the application's vsn is changed in the .rel file).
2011-07-04Added test caseIngela Anderton Andin
2011-07-01Merge branch 'siri/reltool/empty-radiobox/OTP-9384' into devSiri Hansen
* siri/reltool/empty-radiobox/OTP-9384: Do not add an empty radio box on the releases tab for the start_clean release
2011-07-01Merge branch 'siri/reltool/duplicate-module-crash/OTP-9383' into devSiri Hansen
* siri/reltool/duplicate-module-crash/OTP-9383: Offer to set safe configuration if reltool:start fails
2011-07-01Merge branch 'siri/sasl/compiler-warnings/OTP-9295' into devSiri Hansen
* siri/sasl/compiler-warnings/OTP-9295: Remove compiler warning for using deprecated module rexexp
2011-06-30Fix halfword bug in enif_make_int64Sverker Eriksson
The bug was creating an invalid bignum instead of a small integer, causing strange comparing behavior (=:= failed but == succeeded).
2011-06-30Do not add an empty radio box on the releases tab for the start_clean releaseSiri Hansen
First, the radiobox is changed to a listbox, since this will allow multiple selections. This is however for future use - for now a selection will only cause a printout in the erlang shell. Second, add kernel and stdlib to the list of applications in order to make the picture complete and avoid an empty list (radio) box for the start_clean release.
2011-06-30Merge branch 'egil/ei-fix-buffer-alignment/OTP-9390' into devBjörn-Egil Dahlberg
* egil/ei-fix-buffer-alignment/OTP-9390: Align ei buffer according to size of pointers
2011-06-30Merge branch 'ia/ssl/remove-name-from-certifcate-table' into devIngela Anderton Andin
* ia/ssl/remove-name-from-certifcate-table: Removed global name from the certificate tabel
2011-06-30Improved test case so that it will not fail due to last_delay_timer = undefinedIngela Anderton Andin
2011-06-29Align ei buffer according to size of pointersBjörn-Egil Dahlberg
2011-06-29Removed global name from the certificate tabelIngela Anderton Andin
We want the certificate table to be handled the same way as the session table and not have a global name, so that we may easier create a separate ssl-manager to handle erlang distribution over ssl.
2011-06-28Merge branch 'ia/ssl/use-erlang-send-after-instead-of-timer-send-after' into devIngela Anderton Andin
* ia/ssl/use-erlang-send-after-instead-of-timer-send-after: Use erlang:send_after instead of timer:send_after Conflicts: lib/ssl/test/ssl_session_cache_SUITE.erl