aboutsummaryrefslogtreecommitdiffstats
path: root/erts
AgeCommit message (Collapse)Author
2013-11-20erts: Fix alignment bug in allocator start codeSverker Eriksson
Bug never released.
2013-11-20Merge branch 'maint'Sverker Eriksson
2013-11-20Merge branch 'sverk/hash_SUITE-bit_level_binaries' into maintSverker Eriksson
* sverk/hash_SUITE-bit_level_binaries: erts: Fix test case hash_SUITE:bit_level_binaries
2013-11-20Merge branch 'maint'Björn Gustavsson
* maint: Fix truncated pointers in erl_crash.dump
2013-11-20Merge branch 'bjorn/erts/fix-erl_crash_dump/OTP-11450' into maintBjörn Gustavsson
* bjorn/erts/fix-erl_crash_dump/OTP-11450: Fix truncated pointers in erl_crash.dump
2013-11-20Suppress false valgrind warnings caused by sctp_getpaddrsSverker Eriksson
2013-11-19erts: Fix test case hash_SUITE:bit_level_binariesSverker Eriksson
Commontest doesn't like exported functions with same name as test case.
2013-11-19Merge branch 'maint'Björn-Egil Dahlberg
2013-11-19Merge branch 'egil/preloaded-debug_info' into maintBjörn-Egil Dahlberg
* egil/preloaded-debug_info: preloaded: Add debug_info to preloaded
2013-11-19Merge branch 'maint'Björn-Egil Dahlberg
2013-11-19Merge branch 'egil/clarify-erts-doc' into maintBjörn-Egil Dahlberg
* egil/clarify-erts-doc: erts: Clarify documentation for erlang:statistics(run_queue)
2013-11-18Functionality for disabling garbage collectionRickard Green
Being able to disable garbage collection over context switches vastly simplifies implementation of yielding native code that builds large or complex data structures on the heap. This since the heap can be left in an inconsistent state over the context switch.
2013-11-18Use asynchronous check_process_code in code_parallel_SUITERickard Green
2013-11-18Execution of system tasks in context of another processRickard Green
A process requesting a system task to be executed in the context of another process will be notified by a message when the task has executed. This message will be on the form: {RequestType, RequestId, Pid, Result}. A process requesting a system task to be executed can set priority on the system task. The requester typically set the same priority on the task as its own process priority, and by this avoiding priority inversion. A request for execution of a system task is made by calling the statically linked in NIF erts_internal:request_system_task(Pid, Prio, Request). This is an undocumented ERTS internal function that should remain so. It should *only* be called from BIF implementations. Currently defined system tasks are: * garbage_collect * check_process_code Further system tasks can and will be implemented in the future. The erlang:garbage_collect/[1,2] and erlang:check_process_code/[2,3] BIFs are now implemented using system tasks. Both the 'garbage_collect' and the 'check_process_code' operations perform or may perform garbage_collections. By doing these via the system task functionality all garbage collect operations in the system will be performed solely in the context of the process being garbage collected. This makes it possible to later implement functionality for disabling garbage collection of a process over context switches. Newly introduced BIFs: * erlang:garbage_collect/2 - The new second argument is an option list. Introduced option: * {async, RequestId} - making it possible for users to issue asynchronous garbage collect requests. * erlang:check_process_code/3 - The new third argument is an option list. Introduced options: * {async, RequestId} - making it possible for users to issue asynchronous check process code requests. * {allow_gc, boolean()} - making it possible to issue requests that aren't allowed to garbage collect (operation will abort if gc should be needed). These options have been introduced as a preparation for parallelization of check_process_code operations when the code_server is about to purge a module.
2013-11-18erts: Fix bug in binary_to_term for binaries larger than 2^31Sverker Eriksson
2013-11-18erts: Fix bugs in binary_to_term for invalid bitstringsSverker Eriksson
<<131, 77, Len:32, Bits:8, Data/binary>> badarg if Bits > 8 Used to return internally inconsistent bitstring badarg if Len==0 and Bits > 0 Used to return invalid *huge* binary (size = (Uint)-1) badarg if Bits==0 and Len > 0 Used to return valid binary as if Bits was 8
2013-11-18Merge branch 'maint'Siri Hansen
Conflicts: erts/preloaded/ebin/erl_prim_loader.beam
2013-11-18Merge branch 'siri/erl_prim_loader/normalize-and-backslash/OTP-11170' into maintSiri Hansen
* siri/erl_prim_loader/normalize-and-backslash/OTP-11170: Update preloaded Fix bug with backslash in erl_prim_loader:normalize/1
2013-11-18Merge branch 'maint'Fredrik Gustafsson
Conflicts: bootstrap/lib/kernel/ebin/os.beam
2013-11-18erts: Fix naming in erlang:monitor specLukas Larsson
2013-11-18Merge branch 'mhssler/add-os-unsetenv/OTP-11446' into maintFredrik Gustafsson
* mhssler/add-os-unsetenv/OTP-11446: erts: remove ?line macro in testcases Update primary bootstrap Add os:unsetenv/1
2013-11-15Merge branch 'maint'Sverker Eriksson
2013-11-15Merge branch 'sverk/cerl-gdb-fix' into maintSverker Eriksson
* sverk/cerl-gdb-fix: erts: Fix cerl -gdb
2013-11-15Add sync option to file:open/2Joseph Blomstedt
The sync option adds the POSIX O_SYNC flag to the open system call on platforms that support the flag or its equivalent, e.g., FILE_FLAG_WRITE_THROUGH on Windows. For platforms that don't support it, file:open/2 returns {error, enotsup} if the sync option is passed in. The semantics of O_SYNC are platform-specific. For example, not all platforms guarantee that all file metadata are written to the disk along with the file data when the flag is in effect. This issue is noted in the documentation this commit adds for the sync option. Add a test for the sync option. Note however that the underlying OS semantics for O_SYNC can't be tested automatically in any practical way, so the test assumes the OS does the right thing with the flag when present. For manual verification, dtruss on OS X and strace on Linux were both run against beam processes to watch calls to open(), and file:open/2 was called in Erlang shells to open files for writing, both with and without the sync option. Both the dtruss output and the strace output showed that the O_SYNC flag was present in the open() calls when sync was specified and was clear when sync was not specified.
2013-11-15Update preloadedSiri Hansen
2013-11-15Fix bug with backslash in erl_prim_loader:normalize/1Siri Hansen
This function normalizes a path: * convert atoms to strings * flatten strings * convert backslash to a forward slash The bugfix is to only convert backslashes to forward slashes on windows and not on any other platforms.
2013-11-13erts: Fix cerl -gdbSverker Eriksson
by replacing all newlines in $beam_args with space
2013-11-11Merge branch 'maint'Sverker Eriksson
2013-11-11Merge branch 'sverk/valgrind-added-leak-check' into maintSverker Eriksson
* sverk/valgrind-added-leak-check: erts: Prevent valgrind from repeating same memory leaks reports
2013-11-11Clean up address family handling towards ErlangRaimo Niskanen
2013-11-11erts: remove ?line macro in testcasesFredrik Gustafsson
2013-11-09Add os:unsetenv/1Martin Hässler
New BIF os:unsetenv/1 which deletes an environment variable and returns 'true'. Does not change any old functionality. Calls the libc function unsetenv(3) on UNIX and SetEnvironmentVariableW(key, NULL) on Windows. The unicode support is the same as for os:getenv and os:putenv.
2013-11-07Implement prim_inet:socknames/1,2 and prim_inet:peernames/1,2Raimo Niskanen
2013-11-07Merge branch 'maint'Lukas Larsson
* maint: erts: Add cerl -dump and dumping in z_SUITE
2013-11-07Merge branch 'lukas/cerl_dump/OTP-11468' into maintLukas Larsson
* lukas/cerl_dump/OTP-11468: erts: Add cerl -dump and dumping in z_SUITE
2013-11-07erts: Add cerl -dump and dumping in z_SUITELukas Larsson
2013-11-07preloaded: Add debug_info to preloadedBjörn-Egil Dahlberg
Needed by Dialyzer.
2013-11-05Fix documentation of the +MMsco switchRickard Green
2013-11-05Replace the +MMscmgc switch with +MMscrfsdRickard Green
Replaced the +MMscmgc switch with the +MMscrfsd switch. The old switch didn't reflect what it controlled.
2013-11-05Add switch for disabling sys_alloc carriersRickard Green
The switch "+Musac <boolean>" controls if sys_alloc carriers are allowed.
2013-11-05Add support for locking mappings to physical memoryRickard Green
Using "+Mlpm all" switch all mappings made by the emulator will be locked into physical memory.
2013-11-05Merge branch 'maint'Sverker Eriksson
2013-11-05erts: Clarify documentation for erlang:statistics(run_queue)Björn-Egil Dahlberg
2013-11-04Merge branch 'sverk/monitor-memory-leak/OTP-11410' into maintSverker Eriksson
* sverk/monitor-memory-leak/OTP-11410: erts: Fix memory leak for distributed monitors
2013-11-04erts: Prevent valgrind from repeating same memory leaks reportsSverker Eriksson
by using the macro VALGRIND_DO_ADDED_LEAK_CHECK if it exists for system_info({error_checker,memory})
2013-11-01Ensure carrier pool only accessed by schedulersRickard Green
Disable carrier pool for the thread safe allocator instance 0. This since non-managed threads allocates and deallocates memory in this instance, and only managed threads are allowed to access the carrier pool.
2013-11-01Merge branch 'maint'Lukas Larsson
* maint: erts: Add max alignment posix_memalign configure check
2013-11-01erts: Add max alignment posix_memalign configure checkLukas Larsson
On some OSs posix_memalign exists, but it does not allow for alignment greater than the current page size. So we have to do a runtime check for alignment size and also add cross compile options.
2013-10-30Fix truncated pointers in erl_crash.dumpBjörn Gustavsson
When dumping the heaps and stacks in the erl_crash.dump file, only the lower 32 bits of pointers would be printed. Ensure that all bits are printed. While at it, make sure that printing sub binaries with a debug compiled run-time system will work.
2013-10-21Merge branch 'maint'Björn-Egil Dahlberg