aboutsummaryrefslogtreecommitdiffstats
path: root/erts
AgeCommit message (Collapse)Author
2013-08-23Create better distribution of files over async threadsPatrik Nyblom
The actual port id is used to create a key from the pointer value which is the ErlDrvPort. To do this a new driver api function driver_async_port_key is added and the driver API minor version is updated. The documentation is updated and the faulty description of how to spread ports over async threads is updated to use the new API. Testcase also added.
2013-08-23Initialize errno properly in win32 efile_may_openfilePatrik Nyblom
2013-08-23Add debug functionality to retrieve async keyPatrik Nyblom
2013-08-23Merge branch 'lukas/erts/crash_dump_acul/OTP-11264' into maintLukas Larsson
* lukas/erts/crash_dump_acul/OTP-11264: erts: Fix print out of acul option in crash dump
2013-08-23Merge branch 'lukas/erts/efile_undef_behaviour/OTP-11246' into maintLukas Larsson
* lukas/erts/efile_undef_behaviour/OTP-11246: erts: Fix bug in translating ev macros to functions
2013-08-23erts: Fix print out of acul option in crash dumpLukas Larsson
2013-08-20erts: Fix bug in translating ev macros to functionsLukas Larsson
2013-08-20erlc_SUITE: Test the -M* optionsBjörn Gustavsson
2013-08-19Merge branch 'lukas/erts/efile_undef_behaviour/OTP-11246' into maintLukas Larsson
* lukas/erts/efile_undef_behaviour/OTP-11246: erts: Refactor non-pure macros to functions
2013-08-14erts: fixed doc regarding binary_partFredrik Gustafsson
2013-08-13erts: Refactor non-pure macros to functionsLukas Larsson
This is needed as some gcc versions seems to optimize this undefined behaviour in a way which breaks this code.
2013-08-12Merge branch 'lukas/erts/match_spec_test_silent/OTP-11232' into maintLukas Larsson
* lukas/erts/match_spec_test_silent/OTP-11232: erts: Do not enable TRACE_SILENT when testing a ms
2013-08-09Merge branch 'sverk/ptab-race' into maintSverker Eriksson
* sverk/ptab-race: erts: Fix race in ptab that can cause PID mix-ups OTP-11225
2013-08-08erts: Do not enable TRACE_SILENT when testing a msLukas Larsson
2013-08-08Merge branch 'olgeni/erl_driver-man-fixes/OTP-11227' into maintFredrik Gustafsson
* olgeni/erl_driver-man-fixes/OTP-11227: Misc. corrections for erl_driver(3)
2013-08-08Merge branch 'lukas/erts/etp-thr/OTPO-11220' into maintLukas Larsson
* lukas/erts/etp-thr/OTPO-11220: etp: Do not use name as beam.smp is the name on Linux
2013-08-08etp: Do not use name as beam.smp is the name on LinuxLukas Larsson
2013-08-08Merge branch 'lukas/erts/etp-thr/OTPO-11220' into maintLukas Larsson
* lukas/erts/etp-thr/OTPO-11220: erts: Create gdb pything script for thread listing
2013-08-08Merge branch 'lukas/smoketests/OTP-11221' into maintLukas Larsson
* lukas/smoketests/OTP-11221: Add smoke tests
2013-08-08Merge branch 'lukas/erts/ethr_smp_req_native_compiletime/OTP-11196' into maintLukas Larsson
* lukas/erts/ethr_smp_req_native_compiletime/OTP-11196: Bailout if no native implementations are found
2013-08-07erts: Fix race in ptab that can cause PID mix-upsSverker Eriksson
Since: R16B01 Symptom: A spawned process may get the same PID as an existing process. The new process will "steal" the PID and make the old process unreachable through the PID. The problem also applies to port identities but has only been seen for processes. Conditions: SMP emulator with at least two scheduler threads. Rapid spawning and termination of a large number of processes. A small number of free slots in the process table will also increase the risk for this bug. Workaround: Use command line options "+P legacy" and "+Q legacy" Cause: The race happens if a process terminates and gets stalled while releasing its process table slot. The stall has to be so long (due to OS preemptive scheduling most probably) for other schedluer threads to consume all other free slots for newly spawn processes. Fix: Write invalid-markers in the free-pid-table and do atomic exhange operations in retry-loops to make sure each thread gets a unique PID.
2013-08-07Misc. corrections for erl_driver(3)olgeni
- Remove trailing whitespaces - Spelling fixes - Replace "deferred" with "deprecated" where applicable - Remove reference to non-existing "async_ready" entry point
2013-08-07Merge branch 'weisslj/fix-gcc40-arm-compile-error/OTP-11214' into maintFredrik Gustafsson
* weisslj/fix-gcc40-arm-compile-error/OTP-11214: Fix compile error on ARM and GCC < 4.1.0
2013-08-05Add smoke testsLukas Larsson
Smoke tests are meant to verify that a build of erlang has been successfull.
2013-08-05erts: Create gdb pything script for thread listingLukas Larsson
2013-07-30Change default of erlang:halt/2 to the documentedPatrik Nyblom
Bug reported by Jose Valim on the erlang-bugs mailing list: erlang:halt(0,[]) does not flush as advertised in the documentation. Should be the same as erlang:halt(0,[{flush,true}]), but is in fact the same as erlang:halt(0,[{flush,false}]).
2013-07-29Merge branch 'weisslj/run-erl-redirect-dev-null/OTP-11215' into maintFredrik Gustafsson
* weisslj/run-erl-redirect-dev-null/OTP-11215: run_erl: Redirect standard streams to /dev/null
2013-07-29Bailout if no native implementations are foundLukas Larsson
Some basic tests are already done in configure. This makes sure we cover all cases by bailing out when compiling as well.
2013-07-22Merge branch 'egil/test-cuddling' into maintBjörn-Egil Dahlberg
2013-07-22Merge branch 'sze/to_erl/OTP-11206' into maintBjörn-Egil Dahlberg
* sze/to_erl/OTP-11206: Fix changing terminal parameters in to_erl
2013-07-22Fix changing terminal parameters in to_erlStefan Zegenhagen
One of our devices does not like 'to_erl' to be run over a serial port. When to_erl is started, we see "Attaching to /tm<0xFF>" being printed and the device then refuses to accept any input. Occasionally, we have seen a linux kernel error message "serial8250: too much work for irq16" simultaneously. After some debugging we found out that cause is a call to tcsetattr() by to_erl, immediately preceeded by some printf(). The UART in our device doesn't like hardware parameters to be changed while output is concurrently active. In fact, the GNU libc manual also mentions that it might be dangerous to change UART hardware parameters when a transmission is ongoing. The patch attached to this e-mail changes the behaviour of to_erl to use TCSADRAIN instead of TCSANOW when changing terminal parameters. This makes the serial driver wait for the output queues to be empty before applying the terminal parameter change.
2013-07-18Fix compile error on ARM and GCC < 4.1.0Johannes Weißl
Since b29ecbd (OTP-10418, R15B03) Erlang does not compile anymore with old versions of GCC that do not have atomic ops builtins on platforms where there is no native ethread implementation (e.g. ARM): In file included from ../include/internal/gcc/ethread.h:29, from ../include/internal/ethread.h:354, from beam/erl_threads.h:264, from beam/erl_smp.h:27, from beam/sys.h:413, from hipe/hipe_mkliterals.c:29: ../include/internal/gcc/ethr_membar.h:49:4: error: #error "No __sync_val_compare_and_swap" This patch adds a header guard in "gcc/ethread.h", as is present in "libatomic_ops/ethread.h".
2013-07-15tests: Relax system_profile_SUITE scheduler testBjörn-Egil Dahlberg
2013-07-15tests: Refactor away ?line macroBjörn-Egil Dahlberg
2013-07-15tests: Relax receive_SUITE time constraintBjörn-Egil Dahlberg
2013-07-15Merge branch 'egil/erts/aggregate-system-traceability/OTP-11196' into maintBjörn-Egil Dahlberg
* egil/erts/aggregate-system-traceability/OTP-11196: Check for native code without loading module Fix erlang:system_info(compile_info) Fix system_information get_beam_name/0 Add beam dynamic libraries to system_information Add system_information testsuite Add system information aggregate Refactor away ?line macro in code_SUITE Fix tests for erts app-file Add erts app-file erts: Add cflags, ldflags and config.h into executable
2013-07-15Fix erlang:system_info(compile_info)Björn-Egil Dahlberg
Allocation needs to be in correct order.
2013-07-12Merge branch 'rickard/warning_fixes' into maintRickard Green
* rickard/warning_fixes: Fix variable ‘rp_had_locks’ set but not used warning Fix ‘ethr_native_rwlock_destroy’ defined but not used warning Fix 'no previous prototype' warning for dtrace functions
2013-07-12Merge branch 'rickard/test_case_fixes' into maintRickard Green
* rickard/test_case_fixes: Conditionally skip process_SUITE tests that consume large amount of memory
2013-07-12Merge branch 'rickard/info/OTP-11196' into maintRickard Green
* rickard/info/OTP-11196: Fix configure detection of ethread native atomics on powerpc
2013-07-12Fix configure detection of ethread native atomics on powerpcRickard Green
2013-07-11Add erts app-fileBjörn-Egil Dahlberg
2013-07-11erts: Add cflags, ldflags and config.h into executableLukas Larsson
2013-07-11Fix variable ‘rp_had_locks’ set but not used warningRickard Green
2013-07-11Fix ‘ethr_native_rwlock_destroy’ defined but not used warningRickard Green
2013-07-11Fix 'no previous prototype' warning for dtrace functionsRickard Green
2013-07-11Conditionally skip process_SUITE tests that consume large amount of memoryRickard Green
2013-07-11Merge branch 'jw/fix-float-middle-endian/OTP-11201' into maintFredrik Gustafsson
* jw/fix-float-middle-endian/OTP-11201: Fix binary construction on floating point middle-endian machines Fix binary matching on floating point middle-endian machines Fix erlang:phash2() on floating point middle-endian machines Fix external term format BIFs on floating point middle-endian machines
2013-07-10Merge branch 'rickard/info/OTP-11196' into maintRickard Green
* rickard/info/OTP-11196: Add test cases for native atomics and jump table Refuse to build SMP runtime by default without native atomics Make information about use of jump table available via system_info BIF Make ethread library information available via system_info BIF Make emulator arguments available via the system_info BIF
2013-07-10Add test cases for native atomics and jump tableRickard Green