aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator
AgeCommit message (Collapse)Author
2013-05-03Merge branch 'egil/opt-list_to_binary/OTP-11082'Björn-Egil Dahlberg
* egil/opt-list_to_binary/OTP-11082: erts: Use fast path for list_to_binary([Bin]) case
2013-04-30erts: Use fast path for list_to_binary([Bin]) caseBjörn-Egil Dahlberg
A common case is to wrap an argument to list_to_binary in a list to ensure conversion can happen even though the argument may already be a binary. Use fast path for this case.
2013-04-24Merge branch 'maint'Lukas Larsson
* maint: Fix src/dest overlap in ttsl driver fix valgrind error in erts/emulator/drivers/unix/ttsl_drv.c
2013-04-22Fix src/dest overlap in ttsl driverLukas Larsson
2013-04-21fix valgrind error in erts/emulator/drivers/unix/ttsl_drv.cSteve Vinoski
Running some valgrind memory checking showed the error below: ==18040== Thread 6: ==18040== Source and destination overlap in memcpy(0xf3f3f04, 0xf3f3f08, 52) ==18040== at 0x4C2CFA0: memcpy@@GLIBC_2.14 (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==18040== by 0x5CF527: del_chars (ttsl_drv.c:845) ==18040== by 0x5CED5E: ttysl_from_erlang (ttsl_drv.c:658) ==18040== by 0x4982E3: erts_write_to_port (io.c:1235) ==18040== by 0x49A2BD: erts_port_command (io.c:2223) ==18040== by 0x48C054: do_send (bif.c:1962) ==18040== by 0x48CB6E: erl_send (bif.c:2162) ==18040== by 0x566599: process_main (beam_emu.c:1665) ==18040== by 0x4B1A95: sched_thread_func (erl_process.c:4834) ==18040== by 0x6075E2: thr_wrapper (ethread.c:106) ==18040== by 0x5560E99: start_thread (pthread_create.c:308) This occurred on Linux using R15B01 while the shell was emitting a prompt, but the same problem is still present in R16B. Change the memcpy on line 845 of ttsl_drv.c to memmove as valgrind suggests. After the change, verify with valgrind that the error no longer occurs.
2013-04-19Remove the "coding: utf-8" comment from all Erlang source filesHans Bolinder
2013-04-18Merge branch 'maint-r16' into maintBjörn Gustavsson
* maint-r16: Prepare release Prepare release Do not count offline run-queues as empty Prepare release Prevent loss of objects after the extension marker Don't lose the extension mark for object set parameters Conflicts: erts/vsn.mk
2013-04-17Encode Erlang source files with non-ascii characters in UTF-8Björn Gustavsson
To ensure that 'master' compiles when we merge 'maint' to it, regardless of which encoding is default in 'master', all source files with non-ascii characters *must* have the encoding specified.
2013-04-16Do not count offline run-queues as emptyRickard Green
2013-04-05Merge branch 'maint-r16' into maintPatrik Nyblom
Conflicts: erts/vsn.mk
2013-04-04Merge branch 'egil/r16/fix-delete_element/OTP-10932' into maint-r16Erlang/OTP
* egil/r16/fix-delete_element/OTP-10932: erts: Refactor erlang:insert_element/3 for clarity erts: Fix copy error in erlang:delete_element/2
2013-04-04Merge branch 'rickard/sys-flags/OTP-11000' into maint-r16Erlang/OTP
* rickard/sys-flags/OTP-11000: Fix `+sws' and `+swt' system flags
2013-04-04Merge branch 'rickard/thr_prgr_later_op/OTP-10994' into maint-r16Erlang/OTP
* rickard/thr_prgr_later_op/OTP-10994: Make port close not be delayed Be less eager requesting wakeup for cleanup jobs
2013-04-04Make port close not be delayedPatrik Nyblom
Drivers are dereferenced when the port is completely gone, in the operation scheduled with erts_schedule_thr_prgr_later_op. If we use erts_schedule_thr_prgr_later_cleanup_op, it may not happen for a long time and the driver can not be unloaded. We can not dereference the driver before the thread_progress_later thing, because references to the driver may exist in other threads, so the unloading of the driver may free locks held by other schedulers and whatnot.
2013-04-03Fix `+sws' and `+swt' system flagsRickard Green
2013-04-03Be less eager requesting wakeup for cleanup jobsRickard Green
2013-04-02Merge branch 'sverk/meta-trace-leak' into maintSverker Eriksson
* sverk/meta-trace-leak: erts: Fix memleak related to meta tracing OTP-10997
2013-03-27Merge branch 'lukas/erts/efile_delayed_write_fix/OTP-10984' into maintLukas Larsson
* lukas/erts/efile_delayed_write_fix/OTP-10984: Do driver_deq in worker threads instead of async_ready
2013-03-18Add dependency to dtrace header for parallell makePatrik Nyblom
2013-03-13Do driver_deq in worker threads instead of async_readyLukas Larsson
Doing it in async_ready was needed before the pdl was introduced, but now with the pdl the deq no longer needs the port lock to protect it. This was not an issue when async_ready was called in the worker thread, but now (R15B) that it is signalled back to the scheduler, some very nasty race conditions could occur when using driver_timer and async jobs.
2013-03-12erts: Refactor erlang:insert_element/3 for clarityBjörn-Egil Dahlberg
2013-03-12erts: Fix copy error in erlang:delete_element/2Björn-Egil Dahlberg
Off-by-one error in element copy.
2013-03-12Fix erlang:is_process_alive/1Rickard Green
2013-03-08compilation fix for NetBSDYAMAMOTO Takashi
spells __NetBSD__ correctly.
2013-03-07Merge branch 'egil/fix-mseg_dealloc-arguments/OTP-10912' into maintBjörn-Egil Dahlberg
* egil/fix-mseg_dealloc-arguments/OTP-10912: erts: Fix refactor error in mseg
2013-03-05erts: Fix refactor error in msegBjörn-Egil Dahlberg
Faulty number of arguments to mseg_dealloc. Problem arises if we try to compile halfword on operating system which do not have mremap. Not a supported case.
2013-03-04erts: Fix void * arithmeticBjörn-Egil Dahlberg
2013-03-04erts: gcc ansi does not allow 'inline'Björn-Egil Dahlberg
2013-03-04erts: Use block comments - ansi styleBjörn-Egil Dahlberg
2013-03-04hipe: Use block comments - ansi styleBjörn-Egil Dahlberg
2013-02-28erts: Fix memleak related to meta tracingSverker Eriksson
2013-02-25Merge branch 'sverk/halfword-loading-crash'Sverker Eriksson
* sverk/halfword-loading-crash: erts: Fix crash on halfword and code_SUITE:big_boot_embedded OTP-10896
2013-02-25Merge branch 'lukas/erts/add_ERL_MAX_PORTS_env/OTP-10895'Lukas Larsson
* lukas/erts/add_ERL_MAX_PORTS_env/OTP-10895: Undo removal of ERL_MAX_PORTS os variable
2013-02-25Undo removal of ERL_MAX_PORTS os variableLukas Larsson
2013-02-25Set default max ports on win32 to 8192Lukas Larsson
2013-02-25erts: Fix crash on halfword and code_SUITE:big_boot_embeddedSverker Eriksson
2013-02-23Merge branch 'rickard/win-drv-bugfix/OTP-10803'Rickard Green
* rickard/win-drv-bugfix/OTP-10803: Fix close_active_handle() properly
2013-02-22Merge branch 'egil/win-efile-bugfix/OTP-10890'Björn-Egil Dahlberg
* egil/win-efile-bugfix/OTP-10890: erts: Use correct type for ReadFile bytes read
2013-02-22Update copyright yearsBjörn-Egil Dahlberg
2013-02-22erts: Use correct type for ReadFile bytes readBjörn-Egil Dahlberg
Using a 64bit type for bytes read will not always clear the higher bits.
2013-02-22Merge branch 'rickard/r16b/port-leak/OTP-10809'Rickard Green
* rickard/r16b/port-leak/OTP-10809: Fix port structure leak when hitting system limit
2013-02-22Merge branch 'sverk/win-64-pointer-fix'Sverker Eriksson
* sverk/win-64-pointer-fix: erts: Correct term type for printf %T erts: Correct internal printf integer type for win64 erts: Correct some printf type formatting erts: Fix type bug in get_proc_affinity for windows OTP-10887 Forgot this ticket for sverk/erlang_pid-revert: OTP-10885
2013-02-22Fix close_active_handle() properlyRickard Green
2013-02-22Merge branch 'pan/unicode_printable_ranges'Patrik Nyblom
* pan/unicode_printable_ranges: Adapt stdlib tests to ~tp detecting latin1 binaries Update primary bootstrap Make wx debugger use +pc flag when applicable Correct misspelled comments and space at lin ends Make ~tp output latin1 binaries as strings if possible Leave the +pc handling to io and io_lib_pretty Remove newly introduced warning in erlexec.c Make shell_SUITE:otp_10302 use +pc unicode when needed Fix io_proto_SUITE to handle the new io_lib_pretty:print Add testcase for +pc and io:printable_range/0 Make printing of UTF-8 in binaries behave like lists. Document +pc flag and io:printable_range/0 Add usage of and spec for io:printable_range/0 Add +pc {latin1|unicode} switch and io:printable_range/0 Fix some Unicode issues OTP-18084
2013-02-21Merge branch 'rickard/r16b/thread-queue-fix/OTP-10854'Rickard Green
* rickard/r16b/thread-queue-fix/OTP-10854: Fix lost enqueue notification Use dirty read instead of union which can be unsafe on some platforms Add atomic dirty read and dirty set operations
2013-02-21erts: Correct term type for printf %TR. Blaine Whittle
2013-02-21erts: Correct internal printf integer type for win64R. Blaine Whittle
2013-02-21Merge branch 'sverk/tcp-exit_on_close-false'Sverker Eriksson
* sverk/tcp-exit_on_close-false: inet_drv: Fix condition to reject INET_REQ_IGNOREFD for UDP and SCTP A stab at fixing bug with {exit_on_close,false} not working
2013-02-21Merge branch 'lukas/erts/fix_non_smp_shell_sws/OTP-10661'Lukas Larsson
* lukas/erts/fix_non_smp_shell_sws/OTP-10661: Fix bug where +sws proposal was still allowed to be set
2013-02-21Merge branch 'lukas/erts/efile_iter_max_files'Lukas Larsson
* lukas/erts/efile_iter_max_files: Move test to slave node with limited ports