aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2016-03-17systools_make: Add commonly used modules to mandatory_modules/0Björn Gustavsson
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.
2016-03-17compile: Pre-load compiler modules when invoked from 'erlc'Björn Gustavsson
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.
2016-03-17Merge branch 'bjorn/kernel/code_server-normalized-paths/OTP-13410'Björn Gustavsson
* 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
2016-03-16Modernize test suitesBjörn-Egil Dahlberg
2016-03-16Use monotonic_time/1 instead of now/0Björn-Egil Dahlberg
2016-03-16erts: Fix LOW_WRITE section for non llvm os x compilationLukas Larsson
2016-03-16Fix premature timeouts for ethread events on LinuxRickard Green
2016-03-16Unbreak process_info(Pid,last_calls)Rickard Green
2016-03-16erts: Create erl_crash.dump when out of memoryLukas Larsson
This was accidentally removed in commit cd6903be0740db
2016-03-16Update sasl/test/test_lib.hrl with recent versions of kernel and stdlibSiri Hansen
"Old" versions are now taken from OTP-18.0, i.e. one major revision back from OTP-19.
2016-03-16Merge branch 'bjorn/fix-broken-osx-build'Björn Gustavsson
* 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
2016-03-16Take out (parts of) broken fp exception support for MacOS XBjörn Gustavsson
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.
2016-03-16inets: Mend ipv6_host_with_brackets optionIngela Anderton Andin
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.
2016-03-16code_server: Normalize the pathnames for all loaded modulesBjörn Gustavsson
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.
2016-03-16Update preloaded modulesBjörn Gustavsson
2016-03-16init: Correct spec for fetch_loaded/1Björn Gustavsson
fetch_loaded/1 returns a list of tuples, not a list of atoms.
2016-03-16Merge branch 'ia/public_key/EC-public_key/OTP-13408'Ingela Anderton Andin
* ia/public_key/EC-public_key/OTP-13408: public_key: Handle PEM encoded EC public keys
2016-03-16Make peer failover more efficientAnders Svensson
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.
2016-03-15Fix ttsl_drv logging without TERMCAPBjörn-Egil Dahlberg
2016-03-15stdlib: Cuddle with ets_SUITE:evil_renameSverker Eriksson
to make it kill and then wait for all spawned processes to exit.
2016-03-15erts: Fix erts_debug:set_internal_state(wait,deallocations)Sverker Eriksson
that could hang if concurrent deallocations was initiated.
2016-03-15update copyright-yearHenrik Nord
2016-03-15configure.in: Fix compilation error in ethread.cBjörn Gustavsson
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.
2016-03-15run_erl: Don't define _XOPEN_SOURCE on OS XBjörn Gustavsson
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.
2016-03-15Merge tag 'OTP-18.3'Lars Thorsen
=== 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
2016-03-15Merge branch 'egil/fix-fdatasync-mac/OTP-13411'Björn-Egil Dahlberg
* egil/fix-fdatasync-mac/OTP-13411: erts: Use fcntl(fd, F_FULLFSYNC) instead of fdatasync on Mac OSX
2016-03-15erts: Use fcntl(fd, F_FULLFSYNC) instead of fdatasync on Mac OSXBjörn-Egil Dahlberg
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.
2016-03-15Fix dirty scheduler tc on windowsLukas Larsson
2016-03-15Merge branch 'egil/extend-ttsl_drv-logging'Björn-Egil Dahlberg
* egil/extend-ttsl_drv-logging: erts: Increase ttsl_drv logging capabilities
2016-03-15Merge branch 'egil/modernize-erts-tests'Björn-Egil Dahlberg
* 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
2016-03-15Keep error reasons for some common distribution errorsDiana Corbacho
These error reasons can be seen in the logs after calling net_kernel:verbose(1).
2016-03-14Fix typo in funs programming examples documentMilton Inostroza
2016-03-14erts: Increase ttsl_drv logging capabilitiesBjörn-Egil Dahlberg
2016-03-14Tweak bs_construct_SUITEBjörn-Egil Dahlberg
2016-03-14Tweak port_SUITEBjörn-Egil Dahlberg
2016-03-14Merge tag 'OTP-18.3' into maint-18Henrik Nord
=== 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
2016-03-14Merge branch 'bjorn/kernel/rpc/OTP-13409'Björn Gustavsson
* 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
2016-03-14Merge branch 'bjorn/clearer-startup-crashes/OTP-13294'Björn Gustavsson
* 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
2016-03-14Make distribution failures during start-up easier to readBjörn Gustavsson
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
2016-03-14Updated OTP versionOTP-18.3Erlang/OTP
2016-03-14Prepare releaseErlang/OTP
2016-03-14Acknowledge answers to notification pids when throttlingAnders Svensson
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.
2016-03-13Throttle properly with TLSAnders Svensson
In particular, let a callback decide when to receive the initial message.
2016-03-13Don't ask throttling callback to receive more unless neededAnders Svensson
TCP packets can contain more than one message, so only ask to receive another message if it hasn't already been received.
2016-03-13Let a throttling callback answer a received messageAnders Svensson
As discussed in the parent commit. This is easier said than done in practice, but there's no harm in allowing it.
2016-03-13Let a throttling callback discard a received messageAnders Svensson
This can be used as a simple form of overload protection, discarding the message before it's passed into diameter to become one more request process in a flood. Replying with 3004 would be more appropriate when the request has been directed at a specific server (the RFC's requirement) however, and possibly it should be possible for a callback to do this as well.
2016-03-13Let throttling callback return a notification pidAnders Svensson
In addition to returning ok or {timeout, Tmo}, let a throttling callback for message reception return a pid(), which is then notified if the message in question is either discarded or results in a request process. Notification is by way of messages of the form {diameter, discard | {request, pid()}} where the pid is that of a request process resulting from the received message. This allows the notification process to keep track of the maximum number of request processes a peer connection can have given rise to.
2016-03-13Make throttling callbacks on message receptionAnders Svensson
The callback is now applied to the atom 'false' when asking if another message should be received on the socket, and to a received binary message after reception. Throttling on received messages makes it possible to distinguish between requests and answers. There is no callback on outgoing messages since these don't have to go through the transport process, even if they currently do.
2016-03-13Add diameter_tcp option throttle_cbAnders Svensson
To let a callback module decide whether or to receive another message from the peer, so that backpressure can be applied when it's inappropriate. This is to let a callback protect against reading more than can be processed, which is otherwise possible since diameter_tcp otherwise always asks for more. A callback is made after each message, and can answer to continue reading or to ask again after a timeout. It's each message instead of each packet partly for simplicity, but also since this should be sufficiently fine-grained. Per packet would require some interaction with the fragment timer that flushes partial messages that haven't been completely received.
2016-03-11Fix module_info_SUITEBjörn-Egil Dahlberg