aboutsummaryrefslogtreecommitdiffstats
path: root/erts
AgeCommit message (Collapse)Author
2011-11-15Add switch that can disable scheduler compaction of loadRickard Green
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-08Use separate memory carriers for small blocksRickard Green
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-05-24Prepare releaseOTP_R14B03Erlang/OTP
2011-05-20Update copyright yearsBjörn-Egil Dahlberg
2011-05-20Update preloaded modulesBjörn-Egil Dahlberg
2011-05-20Merge branch 'rickard/driver_async_cancel/OTP-9302' into devRickard Green
* rickard/driver_async_cancel/OTP-9302: Fix testcase
2011-05-20Fix testcaseRickard Green
2011-05-19Merge branch 'pan/epmd_testcase/OTP-9214' into devPatrik Nyblom
* pan/epmd_testcase/OTP-9214: Make ssh proxy work with older versions of ssh Mend epmd testcases that test remote access
2011-05-19Merge branch 'rickard/driver_async_cancel/OTP-9302' into devRikard Green
* rickard/driver_async_cancel/OTP-9302: Fix driver_async_cancel()
2011-05-18Merge branch 'egil/remove-compile-warnings' into devBjörn-Egil Dahlberg
* egil/remove-compile-warnings: Remove unused variable warning in inet_res Remove unused variable in epmd_port Remove compiler warnings in inet_drv
2011-05-18Make ssh proxy work with older versions of sshPatrik Nyblom
2011-05-18Merge branch 'pan/win_static_openssl/OTP-9280' into devPatrik Nyblom
* pan/win_static_openssl/OTP-9280: Mend --with-ssl= in erts/configure Update OpenSSL license text in crypto Link OpenSSL libraries static on Windows
2011-05-18Fix driver_async_cancel()Rickard Green
2011-05-17Remove compiler warnings in inet_drvBjörn-Egil Dahlberg
2011-05-16OTP-9094: [httpc] Add support for upload body streaming (PUT and POST).Micael Karlberg
Filipe David Manana OTP-9114: [ftp] Added (type) spec for all exported functions. OTP-9123: mod_esi:deliver/2 made to accept binary data. Bernard Duggan OTP-9124: [httpd] Prevent XSS in error pages. Michael Santos OTP-9131: [httpd] Wrong security property names used in documentation. Garrett Smith OTP-9157: [httpd] Improved error messages. Ricardo Catalinas Jim�nez OTP-9158: [httpd] Fix timeout message generated by mod_esi. Bernard Duggan OTP-9202: [httpd] Extended support for file descriptors. Attila Rajmund Nohl OTP-9230: The default ssl kind has now been changed to essl. OTP-9246: [httpc] httpc manager crash because of a handler retry race condition. Merge branch 'bmk/inets/inet56_integration' into dev
2011-05-13Merge branch 'sverker/hipe-misc-fixing/OTP-9298' into devBjörn-Egil Dahlberg
* sverker/hipe-misc-fixing/OTP-9298: hipe_mkliterals print argv[0] in generated files Fix code:is_module_native segv on deleted module lock checking fix in hipe_bif2.c
2011-05-13Merge branch 'rickard/barriers/OTP-9281' into devRickard Green
* rickard/barriers/OTP-9281: Silence warnings Fix build with hipe on amd64 Reduce number of atomic ops Use 32-bit atomic for port snapshot Remove pointless erts_ports_alive variable Ensure quick break Ensure that all rehashing information are seen when done Ensure that stack updates are seen when stack is released Add needed barriers for write_concurrency tables Homogenize memory barriers on atomics
2011-05-13Silence warningsRickard Green
2011-05-13Fix build with hipe on amd64Rickard Green
2011-05-13Reduce number of atomic opsRickard Green
Counters for active, and used schedulers have been coalesced in order to reduce the amount of atomic operations needed. Some currently not strictly necessary barriers have also been added in order to be future proof.
2011-05-13Use 32-bit atomic for port snapshotRickard Green
2011-05-13Remove pointless erts_ports_alive variableRickard Green
2011-05-13Ensure quick breakRickard Green
Make sure that we don't have to wait in poll before break handling is done.
2011-05-13Ensure that all rehashing information are seen when doneRickard Green
This is not a bugfix. The change is done in order to avoid a future bug.
2011-05-13Ensure that stack updates are seen when stack is releasedRickard Green
Ets tables using ordered_set could potentially get into an internally inconsistent state.
2011-05-13Merge branch 'bjorn/fix-warnings/OTP-9250' into devBjörn Gustavsson
* bjorn/fix-warnings/OTP-9250: Eliminate alias warning in gcc 4.5.2 erl_trace: Eliminate alias warning
2011-05-13Merge branch 'bjorn/test-environment-improvements/OTP-9297' into devBjörn Gustavsson
* bjorn/test-environment-improvements/OTP-9297: erlexec: Make ERL_<version>_FLAGS behave like ERL_AFLAGS cerl: Fix several incompatibilities with 'erl' Teach erlexec the -emu_name_exit option cerl: Remove ancient obsolete options
2011-05-13Merge branch 'bjorn/fix-binary-overflow/OTP-9118' into devBjörn Gustavsson
* bjorn/fix-binary-overflow/OTP-9118: Fix overflow in list_to_bitstring/1 Replace io_list_len() with erts_iolist_size() Make port_command/2 reject non-byte sized bitstrings io.c: Make io_list_vec_len() less general iolist_size/1: Fix truncation of result Test iolist_size/1 with bad arguments binary_SUITE: Remove workaround for avoiding stack overflow
2011-05-13Add needed barriers for write_concurrency tablesRickard Green
Ets tables using the write_concurrency option could potentially get into an internally inconsistent state.
2011-05-13Mend --with-ssl= in erts/configurePatrik Nyblom
2011-05-13Mend epmd testcases that test remote accessPatrik Nyblom
2011-05-12Merge branch 'sverker/halfword-printf-relative-terms/OTP-9292' into devBjörn-Egil Dahlberg
* sverker/halfword-printf-relative-terms/OTP-9292: ETS usage of erts_printf %R erts_printf %R for relative ets-terms in halfword-vm Another halfword is_same-bug for ETS ordered_set
2011-05-12Merge branch 'sverker/halfword-high-alloc/OTP-9291' into devBjörn-Egil Dahlberg
* sverker/halfword-high-alloc/OTP-9291: Present 'low' memory count for halfword-vm with erlang:memory() Fix faulty values from erlang:memory() on halfword-vm Allow allocator disable for high memory (better valgrind for halfword) Expand the use of high memory allocation in halfword emulator
2011-05-11Merge branch 'dc/improved_find_redist' into devPatrik Nyblom
* dc/improved_find_redist: support new SDKs in find_redist.sh and fallback to $ERL_TOP as last resort OTP-9287
2011-05-11hipe_mkliterals print argv[0] in generated filesSverker Eriksson
2011-05-11Fix code:is_module_native segv on deleted moduleSverker Eriksson
2011-05-11lock checking fix in hipe_bif2.cSverker Eriksson
2011-05-11Merge branch 'rickard/gc-other/OTP-9211' into devRickard Green
* rickard/gc-other/OTP-9211: Fix bad assertions Avoid scheduling of processes being garbage collected by others
2011-05-11Fix bad assertionsRickard Green
2011-05-11erlexec: Make ERL_<version>_FLAGS behave like ERL_AFLAGSBjörn Gustavsson
The contents of the ERL_<version>_FLAGS undocumented environment variable would be added at the end of the command line passed to the BEAM emualator (similar to ERL_ZFLAGS), making it impossible to override (for example) "-smp" with "-smp disable" on the command line. To allow overriding, put the contents of ERL_<version>_FLAGS at the beginning of the command line (similar to ERL_AFLAGS). Since the ERL_<version>_FLAGS variable is undocumented and unsupported, it is OK to change its behaviour in a minor release.
2011-05-11cerl: Fix several incompatibilities with 'erl'Björn Gustavsson
Invoking 'cerl' like 'cerl -smp' would only start the smp emulator if default was to start the non-smp emulator, otherwise 'erlexec' would try to start 'beam.smp.smp'. Furthermore 'cerl -smp disable' would be handled in the same way as 'cerl -smp'.
2011-05-11Teach erlexec the -emu_name_exit optionBjörn Gustavsson
It is difficult/impossible to find out whether an invocation of 'erl' will start the smp emulator or the non-smp emulator (short of actually starting the emulator). Therefore we will need a way to ask 'erlexec'.
2011-05-11cerl: Remove ancient obsolete optionsBjörn Gustavsson
The -frag and -smp_frag options was used to start an (at the time) experimental build of the emulator. The -shared and -hybrid option was used to start experimental versions of the emulator with alternate heap architectures.
2011-05-11Homogenize memory barriers on atomicsRickard Green
Atomic operations with specified barriers have specified barrier semantics. Set and read operations have undefined barrier semantics. All other atomic operations implied full memory barriers, except when using the libatomic_ops library and the tilera atomics api. Some code in the runtime system assumed that all operations used (except for set, read and specified) implied full memory barriers. The use of the libatomic_ops library and the tilera atomics api have therefore been modified to behave as the other implementations. Some atomic operations with specified barrier semantics on sparc32 have also been been relaxed in this commit.
2011-05-11Eliminate alias warning in gcc 4.5.2Björn Gustavsson