aboutsummaryrefslogtreecommitdiffstats
path: root/lib/reltool/doc
AgeCommit message (Collapse)Author
2018-03-21Implementation of true asynchronous signaling between processesRickard Green
Communication between Erlang processes has conceptually always been performed through asynchronous signaling. The runtime system implementation has however previously preformed most operation synchronously. In a system with only one true thread of execution, this is not problematic (often the opposite). In a system with multiple threads of execution (as current runtime system implementation with SMP support) it becomes problematic. This since it often involves locking of structures when updating them which in turn cause resource contention. Utilizing true asynchronous communication often avoids these resource contention issues. The case that triggered this change was contention on the link lock due to frequent updates of the monitor trees during communication with a frequently used server. The signal order delivery guarantees of the language makes it hard to change the implementation of only some signals to use true asynchronous signaling. Therefore the implementations of (almost) all signals have been changed. Currently the following signals have been implemented as true asynchronous signals: - Message signals - Exit signals - Monitor signals - Demonitor signals - Monitor triggered signals (DOWN, CHANGE, etc) - Link signals - Unlink signals - Group leader signals All of the above already defined as asynchronous signals in the language. The implementation of messages signals was quite asynchronous to begin with, but had quite strict delivery constraints due to the ordering guarantees of signals between a pair of processes. The previously used message queue partitioned into two halves has been replaced by a more general signal queue partitioned into three parts that service all kinds of signals. More details regarding the signal queue can be found in comments in the erl_proc_sig_queue.h file. The monitor and link implementations have also been completely replaced in order to fit the new asynchronous signaling implementation as good as possible. More details regarding the new monitor and link implementations can be found in the erl_monitor_link.h file.
2017-09-22Update release notesErlang/OTP
2017-06-21Prepare releaseErlang/OTP
2017-06-14Update copyright yearHans Nilsson
2017-05-30[reltool] Fix outdated example in user's guideSiri Hansen
2017-03-14Merge branch 'maint'Rickard Green
* maint: Updated OTP version Prepare release Conflicts: OTP_VERSION lib/typer/doc/src/notes.xml lib/typer/vsn.mk
2017-03-14Prepare releaseErlang/OTP
2017-03-13Merge branch 'maint'Rickard Green
* maint: Fix xml warnings in old release notes
2017-03-13Fix xml warnings in old release notesRickard Green
2016-11-30reltool: Remove module dets_v8Hans Bolinder
2016-09-20Prepare releaseErlang/OTP
2016-09-01doc: Correct errors introduced by Editorial changesHans Bolinder
Fix some older errors as well.
2016-06-21Prepare releaseErlang/OTP
2016-06-02Revert "Prepare release"Erlang/OTP
This reverts commit e020f75c10410a6943cd055bfa072a2641eab7da.
2016-06-02Prepare releaseErlang/OTP
2016-05-13[reltool] Correct documentationHans Bolinder
Fix mistakes found by 'xmllint'.
2016-05-12Revert "Prepare release"Erlang/OTP
This reverts commit bd64ad8e15d66e48b36dbe3584315dd5cfc8b59a.
2016-05-11Prepare releaseErlang/OTP
2016-03-15update copyright-yearHenrik Nord
2015-06-23Prepare releaseErlang/OTP
2015-06-18Change license text to APLv2Bruce Yinhe
2014-06-19Prepare releaseErlang/OTP
2014-04-07Update release notesErlang/OTP
2013-09-17Merge tag 'OTP_R16B02'Magnus Lidén
The R16B02 release Conflicts: lib/sasl/vsn.mk
2013-09-16Prepare releaseOTP_R16B02Erlang/OTP
2013-09-09Merge branch 'maint'Björn Gustavsson
* maint: Change encoding of troublesome notes.xml files to utf-8 Convert some notes.xml files from latin-1 to utf-8
2013-09-06Convert some notes.xml files from latin-1 to utf-8Björn Gustavsson
In the master branch, the encoding for most xml files have been changed from latin-1 to utf-8. The problem is, that the corresponding files in the maint branch still are encoded in latin-1, and that a merge from maint to master may bring in characters encoded in latin-1 into a notes.xml file declared to be in utf-8. To fix the problem once and for all (for the files involved), we'll need to re-encode the files files utf-8 in maint, and then merge to master. Noticed-by: Magnus Henoch
2013-06-18Merge tag 'OTP_R16B01'Björn-Egil Dahlberg
The R16B01 release Conflicts: lib/sasl/vsn.mk
2013-06-17Prepare releaseOTP_R16B01Erlang/OTP
2013-06-12Update copyright yearsBjörn-Egil Dahlberg
2013-06-03Merge branch 'maint'Fredrik Gustafsson
2013-05-28Fix receive support in erl_eval with a BEAM moduleAnthony Ramine
Using the low-level BEAM instructions, we can loop over each message in the process queue and removes the first message that matches, without receiving them all to later send them back to itself. The function prim_eval:'receive'/2 is equivalent to the following pseudo-code: 'receive'(F, T) -> RESET MESSAGE QUEUE POINTER, LOOP: case PEEK CURRENT MESSAGE WITH TIMEOUT T of {ok,Msg} -> case F(Msg) of nomatch -> DECREMENT TIMEOUT T, ADVANCE MESSAGE QUEUE POINTER, GOTO LOOP; Result -> RESET MESSAGE QUEUE POINTER, Result end; timeout -> RESET MESSAGE QUEUE POINTER, timeout end. To not break Dialyzer and other tools, we use a stub Erlang module which abstract code is forcefully inserted into prim_inet.erl afterwards compilation.
2013-04-19Convert XML files to UTF-8Hans Bolinder
2013-02-25Prepare releaseOTP_R16BErlang/OTP
2013-02-22Update copyright yearsBjörn-Egil Dahlberg
2013-01-29Prepare releaseOTP_R16A_RELEASE_CANDIDATEErlang/OTP
2013-01-09Fix some FOP warningsHans Bolinder
Examples overflowing the width of PDF pages have been fixed. The remaining warnings are due to table cells, and require more work.
2012-09-21[reltool] Use application name from .app file instead of directory nameSiri Hansen
In the first traversal of library directories, reltool used only the directory names in order to figure out application names. This would succeed if the directory name was AppName only or AppName-AppVsn and AppVsn consisted of integers separated by dots only. If the AppVsn has any other format, then reltool would not find the correct application name. With this commit, reltool will first look for a .app file and use the .app file name as the application name. This will allow different formats of the version identifier in the directory name. Note that reltool can still not sort (and select the latest) amongst version identifiers of other format than integers separated by dots.
2012-09-11[reltool] Allow incl_cond=derived on module levelSiri Hansen
According to documentation it should be allowed to set incl_cond=include|exclude|derived, but if set to derived on module level, reltool_server would crash. This has been corrected.
2012-09-03Prepare releaseOTP_R15B02Erlang/OTP
2012-08-31Update copyright yearsBjörn-Egil Dahlberg
2012-08-29Merge branch 'ta/docsmaint' into maintHenrik Nord
* ta/docsmaint: Fix various doc typos for R15B02 Fix various code typos for R15B02 OTP-10245
2012-08-20[reltool] Add documentation for option 'excl_lib'Siri Hansen
2012-07-05Fix various doc typos for R15B02Tuncer Ayaz
2012-06-05Update to work with whitespace in exec pathLukas Larsson
OTP-10106 OTP-10107
2012-04-01Prepare releaseOTP_R15B01Erlang/OTP
2012-03-22[reltool] Add configuration parameter lib_dir on application levelSiri Hansen
As a way of specifying one specific version of an application, the following configuration parameter is added on application level: {lib_dir,Dir}, Dir = string() This can be useful if the parent directory of the application directory is not suitable to use as a lib dir on system level.
2012-03-19[reltool] Fix type spec and doc for app() and mod()Siri Hansen
OTP-9792 Also correct documentation of reltool:install/2: first argument is RelName, not Server.
2011-12-12Prepare releaseErlang/OTP
2011-12-07Merge branch 'siri/reltool/doc-rootdir-recommendataion/OTP-9742'Siri Hansen
* siri/reltool/doc-rootdir-recommendataion/OTP-9742: Add recommendation about RootDir parameter to reltool:eval_target_spec/3