Age | Commit message (Collapse) | Author |
|
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.
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
* anders/diameter/R16B02_release/OTP-11322:
vsn -> 1.4.3
Update appup for diameter-1.4.3 in R16B02
|
|
* egil/fix-megaco-appup:
megaco: Update appup file
|
|
|
|
|
|
|
|
* hb/erts/refman_corrections/OTP-11321:
Correct documentation of predefined types
|
|
The documentation of predefined types has been corrected
Thanks to Kostis Sagonas.
|
|
OTP-11320
|
|
* peppe/common_test/init_stop_problem:
Make builtin hook respond to init:stop
OTP-11175
|
|
|
|
* peppe/common_test/misc_r16b02_docs:
Add misc documentation
OTP-11272
OTP-11263
OTP-11244
OTP-11238
OTP-11176
|
|
|
|
* vinoski/sv/fix-sched-stats-disable/OTP-11317:
fix system_flag(scheduling_statistics,disable)
|
|
* jcomellas/jc-integer-to-binary2/OTP-11311:
Update preloaded
Fix incorrect values returned by integer_to_binary/2
|
|
* fenollp/parsetools/fix_unicode_leex/OTP-11313:
parsetools: added testcase for unicode
Missed a few similar calls
Fix leex module`s inability to build unicode-aware lexers.
|
|
Clear the "enabled" flag for scheduling statistics when disable is
specified.
|
|
|
|
|
|
If you have declared your .xrl file as utf-8 encoded
and that some of your definitions contain unicode
characters, either leex wouldn`t be able to lex them
or compilation of the .xrl file would crash.
|
|
* ia/prep-release/ssl:
ssl: Prepare for release
|
|
|
|
* ia/ssl/dtls-refactor/OTP-11292:
ssl: Refactor TLS/DTLS record handling
ssl: Dialyzer fixes
ssl: Solve rebase issues
ssl: DTLS record handling
ssl: Add DTLS record primitives
ssl: Refactor to provide common handshake functions for TLS/DTLS
ssl: Add DTLS handshake primitivs.
|
|
|
|
|
|
|
|
Also refactor so that TLS and DTLS can have common functions when possible.
|
|
This code is to 99 % written by Andreas Schultz only some small changes
to start integrating with OTPs DTLS solution.
|
|
Common functions will be located in ssl_handshake.erl while
specific functions will be located in tls_handshake.erl and dtls_handshake.erl
|
|
This code is to 99 % written by Andreas Schultz only some small changes
to start integrating with OTPs DTLS solution.
|
|
|
|
* hb/doc/refman_type_corrections/OTP-11090:
Correct documentation of predefined and built-in types
|
|
Commit 60984ade updated the code, but not the type spec.
Noticed-by: Kostis Sagonas
|
|
When integer_to_binary/2 receives 0 or a negative number as an argument
with a base that is different from 10, it will return incorrect values
(<<>> in the case of 0) or it will crash (with negative numbers). This
commit fixes these problems and adds tests to cover these cases.
|
|
* bjorn/xml-encoding-fix/OTP-11310:
Change encoding of troublesome notes.xml files to utf-8
Convert some notes.xml files from latin-1 to utf-8
|
|
* lukas/erts/erl_exec_e:
+e should be passed through erlexec
|
|
* kenneth/doc_to_dtd/OTP-11193:
Corrections so that the documentation confirms to the DTD
Minor correction of xml structure to conform to the DTD
|
|
* anders/diameter/spawn_opt/OTP-11299:
Fix broken spawn_opt
|
|
* anders/diameter/failed_avp/OTP-11293:
Fix Failed-AVP construction for CEA/DWA/DPA
|
|
|
|
* bjorn/compiler/return_errors/OTP-11304:
compiler: Conform returned errors to the documented format
|
|
* ks/hipe_unified_loader-cleanup/OTP-11301:
Updated primary bootstrap
Cleanup of the file
|
|
* dotsimon/os_mon_cpu_sup_solaris64/OTP-11298:
Fix broken cpu_sup:nprocs and others on Solaris 64-bit
Fix some compiler warnings
Remove object files when cleaning
|