Age | Commit message (Collapse) | Author |
|
|
|
mod_include was already gone in 18, and webtool is out in 19,
but some references remained in example config files.
|
|
Mnesia didn't forward mnesia_down to transactions which where already
decided to be aborted, but that could lead to hanging transactions
still waiting for messages from the node which had stopped.
|
|
|
|
Use erlang:prepare_loading/1 and erlang:finish_loading/1 to load
modules in parallel to potentially decrease start-up times.
|
|
Add commonly used modules to the list of modules in
mandatory_modules/0. Having those modules listed will potentially
help the 'init' module to load them in parallel during start-up.
|
|
Slightly speed up 'erlc' by pre-loading the modules used
by the compiler. Write a test case to ensure that the correct
set of modules are loaded.
|
|
* bjorn/kernel/code_server-normalized-paths/OTP-13410:
code_server: Normalize the pathnames for all loaded modules
Update preloaded modules
init: Correct spec for fetch_loaded/1
|
|
|
|
|
|
|
|
|
|
|
|
This was accidentally removed in commit cd6903be0740db
|
|
"Old" versions are now taken from OTP-18.0, i.e. one major revision
back from OTP-19.
|
|
* bjorn/fix-broken-osx-build:
Take out (parts of) broken fp exception support for MacOS X
configure.in: Fix compilation error in ethread.c
run_erl: Don't define _XOPEN_SOURCE on OS X
|
|
Floating-point exception support on MacOS X has never been especially
reliable, and has therefore been disabled by default for a long time.
The fpe support is now broken.
Therefore, take out the unnecessary test for modern mcontext in
configure (whatever that means) and the associated code in sys_float.c.
Add #error directives to sys_float.c to make it clear that
fpe is not supported.
It seems to risky to mess with the mess of #ifdef's, so we will
not attempt to remove all fpe support code for MacOS X.
|
|
This is a quick fix to make this option work.
We will revisit this and clean up httpc option handling later.
Also adding regression tests.
|
|
On Windows, the pathnames for modules that are loaded early are
returned with mixed backslashes and slashes:
1> code:which(lists).
"C:\\Program Files\\erl8.0/lib/stdlib-2.7/ebin/lists.beam"
2>
Modules loaded later are fully normalized.
When starting the code_server, normalize the pathnames for all modules
that have been loaded so far.
|
|
|
|
fetch_loaded/1 returns a list of tuples, not a list of atoms.
|
|
* ia/public_key/EC-public_key/OTP-13408:
public_key: Handle PEM encoded EC public keys
|
|
Failover caused the entire request table to be scanned in search of
entries with the transport process in question. With many entries
(possibly as a result of the leak fixed in commit 6c9cbd96), this can
lead to the service process hanging in ets:select_trap/1, with memory
growth when many request processes write concurrently. Now write entries
keyed on the transport pid, so that finding request processes at
failover is a lookup rather than a select scanning the entire table.
There is no upgrade handling in that new code doesn't consider that old
code didn't write entries on the transport pid. Thus, a request whose
table entries were written in old code will timeout rather than failover
in new code. That is, there is a small window for failover to be missed
(since request processes are short-lived), but it requires that it take
place during the upgrade.
As a minor aside, don't ignore failovers when sending binaries (which
isn't officially supported), let prepare_retransmit callbacks deal with
modifying the binary as required.
|
|
|
|
to make it kill and then wait for all spawned processes to exit.
|
|
that could hang if concurrent deallocations was initiated.
|
|
|
|
3121171f56c2 made warnings for missing prototypes into compilation
errors. That broke building on MacOS X, because prototypes for the
pthread_getname_np() and pthread_setname_np() functions included by
ethread.c are missing.
The prototypes for those functions *are* located in pthread.h,
but are not included if _XOPEN_SOURCE is defined. Therefore,
we must undefine _XOPEN_SOURCE.
6e606582a6 is the commit that started to define _XOPEN_SOURCE on
MacOS X in order to mend floating-point exceptions. Since
fp exceptions again are broken and disabled by default, it is
safe to remove the definition of _XOPEN_SOURCE.
|
|
On MacOS X, defining _XOPEN_SOURCE usually *removes* features from
header files.
Therefore, we should not set _XOPEN_SOURCE to 600 since that will
remove the prototype for vsyslog(). Setting it to an empty value
or not including it will ensure that the vsyslog() prototype is
included.
|
|
=== OTP-18.3 ===
Changed Applications:
- asn1-4.0.2
- common_test-1.12
- compiler-6.0.3
- cosNotification-1.2.1
- cosTime-1.2.1
- cosTransactions-1.3.1
- crypto-3.6.3
- debugger-4.1.2
- dialyzer-2.9
- diameter-1.11.2
- edoc-0.7.18
- eldap-1.2.1
- erl_docgen-0.4.2
- erl_interface-3.8.2
- erts-7.3
- eunit-2.2.13
- hipe-3.15
- inets-6.2
- kernel-4.2
- mnesia-4.13.3
- observer-2.1.2
- orber-3.8.1
- public_key-1.1.1
- runtime_tools-1.9.3
- sasl-2.7
- snmp-5.2.2
- ssh-4.2.2
- ssl-7.3
- stdlib-2.8
- test_server-3.10
- tools-2.8.3
- webtool-0.9.1
- wx-1.6.1
- xmerl-1.3.10
Unchanged Applications:
- cosEvent-2.2
- cosEventDomain-1.2
- cosFileTransfer-1.2
- cosProperty-1.2
- et-1.5.1
- gs-1.6
- ic-4.4
- jinterface-1.6.1
- megaco-3.18
- odbc-2.11.1
- os_mon-2.4
- ose-1.1
- otp_mibs-1.1
- parsetools-2.1.1
- percept-0.8.11
- reltool-0.7
- syntax_tools-1.7
- typer-0.9.10
Conflicts:
OTP_VERSION
erts/vsn.mk
lib/test_server/doc/src/notes.xml
lib/test_server/vsn.mk
lib/webtool/doc/src/notes.xml
lib/webtool/vsn.mk
|
|
* egil/fix-fdatasync-mac/OTP-13411:
erts: Use fcntl(fd, F_FULLFSYNC) instead of fdatasync on Mac OSX
|
|
The syscall fdatasync does not work as intended on Mac OSX.
Both the function fsync and fdatasync now uses fcntl(fd, F_FULLFSYNC) on Mac OSX.
|
|
|
|
* egil/extend-ttsl_drv-logging:
erts: Increase ttsl_drv logging capabilities
|
|
* egil/modernize-erts-tests:
Tweak bs_construct_SUITE
Tweak port_SUITE
Fix module_info_SUITE
Fix send_term_SUITE
Cleaner map_SUITE
Remove ?line macros
Eliminate use of doc and suite clauses
Replace ?t with test_server
Eliminate use of ?config() macro
Replace use of test_server:format/2 with io:format/2
Eliminate use of test_server:fail/0,1
Modernize use of timetraps
|
|
These error reasons can be seen in the logs after calling net_kernel:verbose(1).
|
|
|
|
|
|
|
|
|
|
=== OTP-18.3 ===
Changed Applications:
- asn1-4.0.2
- common_test-1.12
- compiler-6.0.3
- cosNotification-1.2.1
- cosTime-1.2.1
- cosTransactions-1.3.1
- crypto-3.6.3
- debugger-4.1.2
- dialyzer-2.9
- diameter-1.11.2
- edoc-0.7.18
- eldap-1.2.1
- erl_docgen-0.4.2
- erl_interface-3.8.2
- erts-7.3
- eunit-2.2.13
- hipe-3.15
- inets-6.2
- kernel-4.2
- mnesia-4.13.3
- observer-2.1.2
- orber-3.8.1
- public_key-1.1.1
- runtime_tools-1.9.3
- sasl-2.7
- snmp-5.2.2
- ssh-4.2.2
- ssl-7.3
- stdlib-2.8
- test_server-3.10
- tools-2.8.3
- webtool-0.9.1
- wx-1.6.1
- xmerl-1.3.10
Unchanged Applications:
- cosEvent-2.2
- cosEventDomain-1.2
- cosFileTransfer-1.2
- cosProperty-1.2
- et-1.5.1
- gs-1.6
- ic-4.4
- jinterface-1.6.1
- megaco-3.18
- odbc-2.11.1
- os_mon-2.4
- ose-1.1
- otp_mibs-1.1
- parsetools-2.1.1
- percept-0.8.11
- reltool-0.7
- syntax_tools-1.7
- typer-0.9.10
|
|
* bjorn/kernel/rpc/OTP-13409:
Don't throw exceptions from rpc:call() and rpc:block_call()
Reduce code duplication in called_node_dies/1 and friends
|
|
* bjorn/clearer-startup-crashes/OTP-13294:
Make distribution failures during start-up easier to read
net_kernel: Separate exports into documented and non-documented groups
erl_distribution: Simplify start_link/0 and friends
Reorder and comment API functions
Clean up splitting of node names
|
|
When an attempt is made to start a distributed Erlang node with
the same name as an existing node, the crash reports for several
supervisors would be displayed. Only the first line contains
useful information. The verbiage is annoying for old hands and
could easily scare newcomers away for good.
For all the common distribution failures during start-up, write a
simple message and terminate the emulator using halt/1. Here is an
example of what will be printed:
Protocol 'inet_tcp': the name somename@somehost seems to be in use by another Erlang node
|
|
|
|
|
|
By sending {diameter, {answer, pid()}} when an incoming answer is sent
to the specified pid, instead of a discard message as previously. The
latter now literally means that the message has been discarded.
|
|
In particular, let a callback decide when to receive the initial
message.
|
|
TCP packets can contain more than one message, so only ask to receive
another message if it hasn't already been received.
|
|
As discussed in the parent commit. This is easier said than done in
practice, but there's no harm in allowing it.
|