aboutsummaryrefslogtreecommitdiffstats
path: root/erts
AgeCommit message (Collapse)Author
2013-05-31Replace gc stat lock with sched spec dataLukas Larsson
2013-05-16Merge branch 'rickard/frmptr' into maintRickard Green
* rickard/frmptr: Add 'frmptr' emulator type Conflicts: erts/preloaded/ebin/erlang.beam
2013-05-16Merge branch 'rickard/nosuspend/OTP-11076' into maintRickard Green
* rickard/nosuspend/OTP-11076: Only verify not busy for erlang:send(Port, Msg, [nosuspend]) until scheduled
2013-05-16Merge branch 'rickard/inet_opts/OTP-11075' into maintRickard Green
* rickard/inet_opts/OTP-11075: Make high_msgq_watermark and low_msgq_watermark generic inet options Conflicts: erts/preloaded/ebin/prim_inet.beam
2013-05-16Merge branch 'rickard/inet_db/OTP-11074' into maintRickard Green
* rickard/inet_db/OTP-11074: Do not treat port_set_data/port_get_data as signals Conflicts: erts/preloaded/ebin/erlang.beam erts/preloaded/ebin/erts_internal.beam
2013-05-16Merge branch 'lukas/erts/process_memory_crash_dump/OTP-11098' into maintLukas Larsson
* lukas/erts/process_memory_crash_dump/OTP-11098: Print process memory usage info in crash dump
2013-05-16Merge branch 'lukas/erts/nodes_rwlock_contentions/OTP-11097' into maintLukas Larsson
* lukas/erts/nodes_rwlock_contentions/OTP-11097: Change rwlock to rlock where possible
2013-05-16Change rwlock to rlock where possibleLukas Larsson
Having rwlock could cause high unneccesary contention on the dist table when calling erlang:nodes() from many schedulers at the same time.
2013-05-16Merge branch 'lukas/erts/win32_io_flush_hangs/OTP-11096' into maintLukas Larsson
* lukas/erts/win32_io_flush_hangs/OTP-11096: Repeat flush loop at timeout intervals
2013-05-13Print process memory usage info in crash dumpLukas Larsson
2013-05-08Merge branch 'nox/wide-chars/OTP-11088' into maintFredrik Gustafsson
* nox/wide-chars/OTP-11088: Support wide characters in the shell through wcwidth() Fix bogus DEBUGLOG() incantations in ttsl_drv
2013-05-06Only verify not busy for erlang:send(Port, Msg, [nosuspend]) until scheduledRickard Green
2013-05-06Make high_msgq_watermark and low_msgq_watermark generic inet optionsRickard Green
2013-05-06Merge branch 'sverk/fix-alloc-fixes' into maintSverker Eriksson
* sverk/fix-alloc-fixes: erts: Remove unnecessary utf8 analysis step in external decoding erts: Fix locking order violation for allocation wrappers erts: Change locking order for "port_table" and "port_sched_lock" erts: Adjust sizes for fix allocator erts: Fix unabused bug in fixed allocation erts: Fix benign size-bug for fix-allocators MONITOR_SH and NLINK_SH erts: Refactor in new struct ErtsAllctrFixDDBlock_t OTP-11085
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-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-27Do not use -mdynamic-no-pic on DarwinAnthony Ramine
Latest OS X versions ignore this flag as non PIC objects are discouraged.
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-18Prepare releaseErlang/OTP
2013-04-18Merge branch 'siri/doc-fnu-opts/OTP-10901' into maintSiri Hansen
* siri/doc-fnu-opts/OTP-10901: Add documentation of w, i and e addition to +fnu and +fna switches to erl
2013-04-17Add documentation of w, i and e addition to +fnu and +fna switches to erlSiri Hansen
These were documented in the stdlib user's guide, but not in the reference manual for erl. This has now been corrected.
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-10Update preloaded modulesFredrik Gustafsson
2013-04-10Merge branch 'atj/atj-fix-message_que_len-typo/OTP-11024' into maintFredrik Gustafsson
* atj/atj-fix-message_que_len-typo/OTP-11024: Fix typo in type: erlang:process_info_item()
2013-04-08Remove unused Postscript filesHans Bolinder
2013-04-07Fix typo in type: erlang:process_info_item()Andrew Tunnell-Jones
'message_que_len' should be 'message_queue_len'.
2013-04-05Merge branch 'maint-r16' into maintPatrik Nyblom
Conflicts: erts/vsn.mk
2013-04-04Prepare releaseErlang/OTP
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-04Changed handshake from to_erl to run_erl, on behalf of shell searchFredrik Gustafsson
2013-04-04Update preloaded modulesFredrik Gustafsson
2013-04-04Fixed documentation for priority_level to spawn_optFredrik Gustafsson
2013-04-04Consistent definition of priority levelsKostis Sagonas
In the specs and the documentation of the spawn_opt family of functions there is the following definition of priority levels: Level = low | normal | high However, the process_flag/1 function in that module reads: process_flag(Flag :: priority, Level) -> OldLevel Types: Level = OldLevel = priority_level() priority_level() = low | normal | high | max This is clearly inconsistent. Change specs to use the process_level() type declaration instead of re-defining it in various places.