aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator
AgeCommit message (Collapse)Author
2019-08-26erts: Add missing prototypeJohn Högberg
2019-08-22Merge branch 'sverker/ets-delete-tree-trapping' into maintSverker Eriksson
* sverker/ets-delete-tree-trapping: erts: Refactor ets catree deletion
2019-08-16Merge branch 'john/erts/process_info-binary-heap-fragments/OTP-15978' into maintJohn Högberg
* john/erts/process_info-binary-heap-fragments/OTP-15978: erts: Scan heap fragments for off-heap binaries
2019-08-15erts: Refactor ets catree deletionSverker Eriksson
to maintain consistency of the trees during yielding and by that avoid problems with test inspection like erts_debug:get_internal_state(node_and_dist_references).
2019-08-13Merge branch 'john/erts/fix-instrument-allocations-race/OTP-15983' into maintJohn Högberg
* john/erts/fix-instrument-allocations-race/OTP-15983: erts: Fix crash in instrument:allocations/0-1
2019-08-12Merge branch 'john/erts/bs_get_binary2-heap-binaries/OTP-15977' into maintJohn Högberg
* john/erts/bs_get_binary2-heap-binaries/OTP-15977: erts: Create heap binaries in binary:split/2-3 erts: Create heap binaries in binary_part/2-3 erts: Create heap binaries in split_binary/2 erts: Create heap binaries in bs_get_binary2 erts: Remove size check in bs_start_match erts: Disallow binaries whose size in bits exceeds UWORD_MAX
2019-08-12erts: Fix crash in instrument:allocations/0-1John Högberg
The current carrier list was read when the allocator wasn't locked, crashing the emulator if a block scan raced with a carrier allocation.
2019-08-12erts: Scan heap fragments for off-heap binariesJohn Högberg
2019-08-09erts: Create heap binaries in binary:split/2-3John Högberg
2019-08-09erts: Create heap binaries in binary_part/2-3John Högberg
2019-08-09erts: Create heap binaries in split_binary/2John Högberg
2019-08-09erts: Create heap binaries in bs_get_binary2John Högberg
ErlSubBin is a large struct that often dwarfs the region of memory it points at, and it's common for them to refer to a ProcBin which must be kept around as long as the SubBin lives, using up even more heap space and keeping the referenced binary alive regardless of how small the sub-binary is.
2019-08-09erts: Remove size check in bs_start_matchJohn Högberg
The size check is redundant now that all binaries are guaranteed to be small enough that their size in bits fits into a word.
2019-08-09erts: Disallow binaries whose size in bits exceeds UWORD_MAXJohn Högberg
These have never worked in binary matching (including sub-binaries extracted from them) so it's hard to justify their existence. They also make a future migration of binary sizes from bytes to bits problematic, so we may as well change it ahead of time. This is potentially incompatible on 32-bit platforms where a NIF or driver could allocate 512MB+ binaries, but allocations that large should be expected to fail anyway.
2019-08-07erts: Escape atoms in erlang:fun_to_list/1John Högberg
2019-07-30Merge branch 'bmk/erts/esock/20190729/eafnosupport_on_solaris10' into maintMicael Karlberg
2019-07-30Merge branch 'bmk/esock/20190723/renaming_nif_functions/OTP-15955' into maintMicael Karlberg
2019-07-30Merge branch 'bmk/erts/esock/20190717/socket_options/OTP-15904' into maintMicael Karlberg
2019-07-29[esoco|test] Attempt to handle unsupported unix domain socketMicael Karlberg
2019-07-29[esock|test] Race during socket closeMicael Karlberg
Add a sleep to reduce the chance that process exit has not been "processed" by the nif code. Also increased the test case timetrap for the sc_ctrl_proc_exit group of test cases. OTP-15904
2019-07-24[esock] Renaming structures and callback functionsMicael Karlberg
Rename some of the structures and callback functions (socket -> esock). OTP-15955
2019-07-24[esock] Renamed constantsMicael Karlberg
Renamed constants (defines): SOCKET_ -> ESOCK_ OTP-15955
2019-07-24[esock] Renaming internal functions to avoid name clashesMicael Karlberg
The naming "convention" for "top" functions of the esock nif module was: The API functions where called nif_<foo> This function did basic checks and arg extraction and then called the a function called n<foo>, which was the one doing the actual work. Unfortunately, och some platforms (AIX) these second names, n<foo>, clashed with system functions. So, in order to avoid this, the naming of second function has been changed to esock_<foo>. OTP-15955
2019-07-24[esock|test] Moved include file (to its proper place)Micael Karlberg
OTP-15904
2019-07-24[esock|test] Make some skip reasons more readableMicael Karlberg
OTP-15904
2019-07-23[esock|test] Changing 'dontroute' may not be allowedMicael Karlberg
If we are not allowe to change ('eopnotsupp') the socket option 'dontroute' then we skip the test case. OTP-15904
2019-07-22[esock|test] Split the acceptconn test case into twoMicael Karlberg
The socket acceptconn test case has been split into two, one for UDP and one for TCP. OTP-15904
2019-07-22Merge branch 'rickard/node-refc-tests-22' into maintRickard Green
* rickard/node-refc-tests-22: Fix etp-ets-tables Fix node refc test for free processes hanging around Enhanced node refc bookkeeping Fix node container refc tests of ETS Fix node refc test of external data Node container refc test for persistent terms Include persistent term storage in node/dist refc check Fix node refc test for system message queue
2019-07-22Fix node refc test for free processes hanging aroundRickard Green
2019-07-22Enhanced node refc bookkeepingRickard Green
2019-07-22Fix node container refc tests of ETSRickard Green
2019-07-22Fix node refc test of external dataRickard Green
2019-07-22Merge branch 'rickard/node-refc-tests-21' into rickard/node-refc-tests-22Rickard Green
* rickard/node-refc-tests-21: Node container refc test for persistent terms Include persistent term storage in node/dist refc check Fix node refc test for system message queue
2019-07-22Node container refc test for persistent termsRickard Green
2019-07-22Include persistent term storage in node/dist refc checkRickard Green
2019-07-22Merge branch 'rickard/node-refc-tests-20' into rickard/node-refc-tests-21Rickard Green
* rickard/node-refc-tests-20: Fix node refc test for system message queue
2019-07-22Fix node refc test for system message queueRickard Green
2019-07-18[esock|test] Add two placeholder test cases: error and lingerMicael Karlberg
Added two place holder test cases for the socket options error and linger. OTP-15904
2019-07-18[esock|test] Update the bindtodevice test caseMicael Karlberg
Handle the eperm error reason that can be returned when attempting to use 'bindtodevice'. OTP-15904
2019-07-18[esock] Fixed a copy-and-paste error for bindtodeviceMicael Karlberg
Fixed a copy-and-paste error for socket option bindtodevice. Incorrectly used SO_BROADCAST option instead. OTP-15904
2019-07-18[esock|test] Make the broadcast test case more forgivingMicael Karlberg
OTP-15904
2019-07-18[esock|test] Some platforms does not accept acceptconn for UDPMicael Karlberg
Some platforms (for example darwin and OpenBSD) does not accept this option for UDP. Will result in 'enoprotoopt'. So, skip that part of the test case (UDP) if this error occurs. OTP-15904
2019-07-18Fix io:columns() and io:rows() are not working from escripts bugKjell Winblad
The functions io:columns() and io:rows() only worked correctly inside interactive erlang shells before this fix. These functions returned {error,enotsup} before this fix even if stdout and stdin were connected to a terminal when they were invoked from an escript or a program started with e.g., `erl -noshell`. This commit fixes issue ERL-717.
2019-07-18Merge branch 'bmk/erts/esock/20190718/socket_option_keepalive/OTP-15904' ↵Micael Karlberg
into bmk/erts/esock/20190717/socket_options/OTP-15904
2019-07-18Merge branch 'bmk/erts/esock/20190718/socket_option_dontroute/OTP-15904' ↵Micael Karlberg
into bmk/erts/esock/20190717/socket_options/OTP-15904
2019-07-18[esock|test] Add test case for socket option 'keepalive'Micael Karlberg
OTP-15904
2019-07-18[esock|test] Add test case for socket option 'dontroute'Micael Karlberg
OTP-15905
2019-07-17[esock|test] Add test case for the domain socket optionMicael Karlberg
OTP-15904
2019-07-17[esock|test] Add an attempt to read out the new debug valueMicael Karlberg
After a successful set of debug, also attempt to read it back to check that it actually took. OTP-15904
2019-07-17[esock|test] Add test case for socket option 'debug'Micael Karlberg
The test case must either be run with a user that has CAP_NET_ADMIN capability or by root. Otherwise the test case will be skipped (eacces). OTP-15904