aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator
AgeCommit message (Collapse)Author
2013-05-06Merge branch 'nox/fix-warnings/OTP-11086' into maintFredrik Gustafsson
* nox/fix-warnings/OTP-11086: Fix some sign warnings found with Clang Fix a shift/reduce conflicts warning in icparse Fix two deprecation warnings in com.ericsson.otp.ic.Environment Define matherr only on platforms where it is used Properly declare _sigaction on Darwin Properly mark Uint literals as unsigned in big.c Do not use -mdynamic-no-pic on Darwin
2013-05-06Fix crash when reporting stale driver selectRickard Green
2013-05-03erts: Fix crash in nif_SUITE for win64Sverker Eriksson
'long' is not pointer sized on win64
2013-05-03erts: Fix assert in isdigit for negative charactersSverker Eriksson
2013-05-02Add system_monitor of long_schedulePatrik Nyblom
2013-05-02Enable use of GetTickCoun64 when availablePatrik Nyblom
2013-05-02Fix faulty rest on error in unicode:characters_to_listPatrik Nyblom
2013-04-30Fix some sign warnings found with ClangAnthony Ramine
2013-04-30Define matherr only on platforms where it is usedAnthony Ramine
2013-04-30Properly declare _sigaction on DarwinAnthony Ramine
2013-04-30Properly mark Uint literals as unsigned in big.cAnthony Ramine
2013-04-29Do not treat port_set_data/port_get_data as signalsRickard Green
2013-04-27Support wide characters in the shell through wcwidth()Anthony Ramine
There is one remaining bug where ttsl_drv's state ends up inconsistent with the terminal own state; when a wide character is entered on the last column of the terminal. Reported-by: Loïc Hoguin
2013-04-27Fix bogus DEBUGLOG() incantations in ttsl_drvAnthony Ramine
2013-04-27Fix some Makefile rules that didn't support silent rulesAnthony Ramine
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-21Add 'frmptr' emulator typeRickard Green
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-15erts: Remove unnecessary utf8 analysis step in external decodingSverker Eriksson
Faulty utf8 atoms are rejected anyway later when the atom is created.
2013-04-15erts: Fix locking order violation for allocation wrappersSverker Eriksson
Some query functions in erl_alloc_util.c lock the allocator mutex and then use erts_printf that in turn may call the sys allocator through the wrappers. To avoid breaking locking order these query functions first "pre-locks" all allocator wrappers.
2013-04-11erts: Change locking order for "port_table" and "port_sched_lock"Sverker Eriksson
Keep order between the two but move them before all the allocation locks. Old order violated for "port_table" lock in ptab_list_bif_engine().
2013-04-11erts: Adjust sizes for fix allocatorSverker Eriksson
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-02erts: Fix unabused bug in fixed allocationSverker Eriksson
Make sure each fix allocator type always allocate the right fixed size.
2013-04-02erts: Fix benign size-bug for fix-allocators MONITOR_SH and NLINK_SHSverker Eriksson
Bug will (as it seems) only result in faulty statistics.
2013-04-02erts: Refactor in new struct ErtsAllctrFixDDBlock_tSverker Eriksson
to replace macro constant ERTS_ALCU_DD_FIX_TYPE_OFFS.
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-27Repeat flush loop at timeout intervalsLukas Larsson
2013-03-27Run iter max ports on a seperate vm with smaller port tableLukas Larsson
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-11Intermediate code with lock on gettickcount()Patrik Nyblom
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-05TmpPatrik Nyblom
2013-03-04erts: Fix void * arithmeticBjörn-Egil Dahlberg