Age | Commit message (Collapse) | Author |
|
|
|
Line table was left uninitialized for hipe (stub) modules
causing process_info(OtherPid, current_location) to crash.
|
|
|
|
* maint:
erts: Fix sendfile:ing of large files on FreeBSD
|
|
* theom/freebsd-sendfile-patch-2/OTP-13271:
erts: Fix sendfile:ing of large files on FreeBSD
|
|
If the file was larger than the OS send buffer the call
would fail before this patch.
|
|
* maint:
efile_drv: logic error in compressed file write
|
|
* mikpe/erts/efile-write-compressed-error/OTP-13270:
efile_drv: logic error in compressed file write
|
|
* lukas/erts/gc_info/OTP-13265:
erts: Add garbage_collection_info to process_info/2
Conflicts:
erts/emulator/beam/erl_bif_info.c
|
|
|
|
* maint:
Fix HL timer hard debug implementation
Fix stack alignment problem in ethread test on arm
Skip time_SUITE:timestamp on timewarp test
|
|
* rickard/test-fix:
Fix HL timer hard debug implementation
Fix stack alignment problem in ethread test on arm
Skip time_SUITE:timestamp on timewarp test
|
|
|
|
|
|
Assert thread unsafe allocator is only created on non-smp
and only called by the main thread.
Removed test of unsafe allocator in custom thread.
|
|
|
|
|
|
The new time warp safe option is safe_fixed_monotonic_time which
gives erlang:monotonic_time().
The safe_fixed option was also slightly changed. It now gives
erlang:timestamp() instead of erlang:now(). This has however
not been documented, so it is considered a compatible change.
The above effects both ets, and dets.
This commit also include the bugfix OTP-13239 for
dets:info(Tab, safe_fixed). The timestamp in the result returned
by dets:info(Tab, safe_fixed) was unintentionally broken as a
result of the time API rewrites in OTP 18.0.
|
|
New timestamp options for trace, sequential trace, and
system profile:
- monotonic_timestamp
- strict_monotonic_timestamp
|
|
* maint:
Fix dirty scheduler check in handle_aux_work
|
|
* vinoski/check-awdp-esdp:
Fix dirty scheduler check in handle_aux_work
|
|
|
|
* sverk/armata-memset-bug:
erts: Workaround memset bug in test case
|
|
* sverk/safe-purging/OTP-13122:
erts: Ignore unexpected messages to erts_code_purger
erts: Optimize erlang:check_process_code
erts: Refactor check_process_code/3
erts: Make copy_literals more fail safe
erts: Move copy_literals/2 from erlang to erts_internal
erts: Make erlang:purge_module/1 safe
erts: Refactor code:purge/1 and code:soft_purge/1
erts: Introduce erts_code_purger
|
|
|
|
Must re-read 'state' after seizing proc locks as other thread may
have set EXITING.
|
|
* maint:
Do not allow aux work on dirty schedulers
|
|
* vinoski/dirty-sched-no-aux-work/OTP-13236:
Do not allow aux work on dirty schedulers
|
|
by ignoring literals.
erts_internal:check_process_code will be called again anyway
(with option {copy_literals, true}) before the module is actually purged.
No need to check literals twice.
|
|
* Same process must do enable-disable.
* System process will force it and never get 'aborted'
|
|
as it's not a public interface.
|
|
Problem: erlang:purge_module/1 is not safe in the sense
that very bad things may happen if the code to be purged
is still referred to by live processes.
Introduce erts_internal:purge_module which is the same as the old
erlang:purge_module BIF (except it returns false if no such old module).
Implement erlang:purge_module in Erlang and let it invoke
erts_code_purger for safe purging where all clogging processes
first are killed.
|
|
* sverk/fvisibility-hidden/OTP-13227:
erts: Allow -fvisibility=hidden for NIFs and drivers
erts: Cleanup erl_driver.h for windows
erts: Refactor ERL_NIF_INIT macro
|
|
as a system process with preloaded code.
|
|
When a AF_LOCAL file descriptor is created externally (e.g. Unix
Domain Socket) and passed to `gen_tcp:listen(0, [{fd, FD}])`, the
implementation incorrectly assigned the address family to be equal
to `inet`, which in the inet_drv driver translated to AF_INET instead
of AF_LOCAL (or AF_UNIX), and an `einval` error code was returned.
This patch fixes this problem such that the file descriptors of the
`local` address family are supported in the inet:fdopen/5,
gen_tcp:connect/3, gen_tcp:listen/2, gen_udp:open/2 calls
|
|
memset seen to fail with values larger than 255
on (armata) 32-bit ARM Debian
with EGLIBC 2.13-38+rpi2+deb7u8
and gcc 4.6.3-14+rpi1.
|
|
as is strongly recommended by gcc man page.
We use __attribute__ ((visibility("default"))) to make sure
the init functions are properly exported.
|
|
The comment is misleading and
no need to "export" static windows drivers.
DRIVER_INIT for dynamic windows drivers
is defined in erl_win_dyn_driver.h
|
|
|
|
OTP-13167
* sverk/proc-dict-opt:
erts: Add new test case pdict_SUITE:mixed
erts: Add 'fill_heap' to erts_debug:state_internal_state
erts: Rename proc dict size to arraySize
erts: Refactor proc dict with 'usedSlots'
erts: Add sizeMask for faster proc dict indexing
erts: Remove ProcDict.used
erts: Add proc dict macros ERTS_PD_START/SIZE
erts: Optimize away function "array_put" in proc dict
erts: Optimize hashing in process dictionary
|
|
* sverk/float_SUITE-arith:
erts: Add new test cases to float_SUITE
|
|
* sverk/check_process_code-fix:
erts: Fix bug in check_process_code for literals
|
|
* maint:
Light weight statistics of run queue lengths
Conflicts:
erts/preloaded/ebin/erlang.beam
|
|
* rickard/rq-len/OTP-13201:
Light weight statistics of run queue lengths
|
|
- statistics(total_run_queue_lengths)
- statistics(run_queue_lengths)
- statistics(total_active_tasks)
- statistics(active_tasks)
Conflicts:
erts/emulator/beam/erl_process.c
|
|
* maint:
Use monotonic time for call_time trace
|
|
* rickard/ohmq-fixup/OTP-13047:
Fix asynchronous BIF timer cancellation message reply
|
|
|
|
|
|
|