aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2015-05-18erts: Fix warning about const pointer to make_boxed and make_listSverker Eriksson
2015-05-18Avoid timer wheel work in dirty schedulersSteve Vinoski
Dirty schedulers are limited in the type of work they can perform. Make sure they do not participate in any work or make any function calls related to timer wheels.
2015-05-18Merge branch 'ia/ssl/sleep-cuddle'Ingela Anderton Andin
* ia/ssl/sleep-cuddle: ssl: Adjust sleep time in test case
2015-05-18ssl: Adjust sleep time in test caseIngela Anderton Andin
Adjust time to make sure "enough" time has elapsed. Will have to do for now.
2015-05-18Merge branch 'ia/ssl/doc/types'Ingela Anderton Andin
* ia/ssl/doc/types: ssl: Align "=" sign in type declarations to decided policy
2015-05-18Merge branch 'ia/ssh/doc/types'Ingela Anderton Andin
* ia/ssh/doc/types: ssh: Align "=" sign in type declarations to decided policy
2015-05-18erts: Fix typo in etp-carrier-blocksSverker Eriksson
2015-05-18Add ?assertReceive(Guard, Timeout) macro to eunitSerge Aleynikov
A convenience macro used for testing message passing logic by allowing to fail if a message matching a `Guard` is not received in the mailbox of the current process.
2015-05-18Fix counting of no_result_code/invalid_error_bitAnders Svensson
The message was regarded as unknown if the answer message in question set the E-bit and the application dictionary was not the common dictionary.
2015-05-18Count relayed answersAnders Svensson
That is, outgoing answer messages received in response to a handle_request callback having returned {relay, Opts}.
2015-05-18Rename dictionary-related functions/variablesAnders Svensson
To clarify what it is that's being computed, which isn't entirely obvious. No functional change, just renaming.
2015-05-18Lift answer send up the call chainAnders Svensson
As the first step in starting to count outgoing, relayed answer messages.
2015-05-18Count discarded incoming messagesAnders Svensson
An incoming Diameter message is either a request, an answer to an outstanding request, or an unexpected answer. The latter weren't counted, but are now counted on keys of this form: {pid(), {{unknown, 0}, recv, discarded}} The form of the second element is similar to those of other counters, like: {{relay, 0|1}, send|recv, invalid_error_bit} Compare this to the key used when counting known answers: {{ApplicationId, CommandCode, 0}, recv} The application id and command code aren't included so as not to count on arbitrary keys, a topic last visited in commit 49e8b11c.
2015-05-18Include R-bit in unknown message counter keysAnders Svensson
To differentiate between requests and answers, in analogy with relay counters. This isn't backwards compatible, but these counters aren't yet documented.
2015-05-18Fix broken relay countersAnders Svensson
Commit 49e8b11c broke the counting of relayed message, causing them to be accumulated as unknown messages.
2015-05-18Fix typo in cprof documentationMagnus Ottenklinger
2015-05-18Map error logger warnings to warning messages by defaultRichard Carlsson
Also fix and document the broken +We option.
2015-05-18Fix broken result code countersAnders Svensson
Commit a1df50b3 broke result code counters in the case of answer messages sent as a header/avp lists (unless the avps, untypically, set the name field), and for answers sent/received in the relay application.
2015-05-18stdlib: Document maps:filter/2Björn-Egil Dahlberg
2015-05-18stdlib: Add maps:filter/2Björn-Egil Dahlberg
2015-05-18Merge branch 'maint'Zandra Hird
Conflicts: OTP_VERSION lib/ssh/doc/src/ssh.xml lib/ssh/vsn.mk
2015-05-18Updated OTP versionOTP-17.5.4Erlang/OTP
2015-05-18Update release notesErlang/OTP
2015-05-18Merge branch 'hans/ssh/ssh_msg_debug_fun/OTP-12738' into maint-17Erlang/OTP
* hans/ssh/ssh_msg_debug_fun/OTP-12738: ssh: option for handling the SSH_MSG_DEBUG message's printouts
2015-05-18Merge branch 'hans/inets/bad_content_length/OTP-12739' into maint-17Erlang/OTP
* hans/inets/bad_content_length/OTP-12739: inets: reject negative content-length
2015-05-18Merge branch 'evilbluebeaver/iterator_from'Hans Bolinder
* evilbluebeaver/iterator_from: stdlib: Add gb_sets:iterator_from stdlib: Add gb_trees:iterator_from
2015-05-18stdlib: Add gb_sets:iterator_fromHans Bolinder
2015-05-18stdlib: Add gb_trees:iterator_frombeaver
2015-05-17Add counters testcase to relay suiteAnders Svensson
Which fails for a variety of reasons to be addressed in subsequent commits.
2015-05-14Speed up linting by not traversing filenames in erl_annoJosé Valim
Compilation on Erlang 18.0-rc2 is about 10% slower than in Erlang 17. After some debugging, we have noticed that linting is on average 30% to 50% slower being the main responsible for the performance reduction. Later profiling revealed is_filename/1 to be the biggest culprit. The change in this commit brings compilation times to about the same times as Erlang 17. Note this commit doesn't change the compiler behaviour compared to Erlang 17 because we didn't sanity check the value given to the file annotation in the past. I would say checking the filename is not worth it if it means compilation becomes 10% slower on average. After all, there are many places in the compiler where it will fail if we give it a malformed tree, I wouldn't then special case file annotation.
2015-05-14Cache nowarn_bif_clash functions in erl_lintJosé Valim
When compiling parser files, because they rely heavily on inline annotations, retrieving the nowarn_bif_clash information from the compiler options is expensive. This patch stores nowarn_bif_clash in the lint record. By using erlc +'{eprof,lint_module}' when compiling the erlang parser, we noticed the time spent on nowarn_function/2 reduced from 30% to 0.01%.
2015-05-13stdlib: Add 'sync' option to ets:tab2file/3Sverker Eriksson
to improve the chance of some real disk persistence before tab2file returns.
2015-05-13ssl: Align "=" sign in type declarations to decided policyIngela Anderton Andin
2015-05-13Fix problem not recognizing 'macro' tuple from epp_dodgerPeter Andersson
OTP-12740
2015-05-13Use read_concurrency for application environmentRichard Carlsson
2015-05-13sys_core_fold: Eliminate warnings for unused termsBjörn Gustavsson
The optimization introduced in 0a0d39d351fc would cause spurious warnings of the type: "a term is constructed, but never used". To avoid the warning, we must mark not only tuples and lists as compiler_generated, but also each element. We must also propagate compiler_generated annotations in lets. For example, if we have: let <X -| ['compiler_generated']> = 42 in X + 1 we must propagate the compiler_generated annotation to the literal when do constant propagation: 42 -| ['compiler_generated'] + 1
2015-05-13ssh: option for handling the SSH_MSG_DEBUG message's printoutsHans Nilsson
A fun could be given in the options that will be called whenever the SSH_MSG_DEBUG message arrives. This enables the user to format the printout or just discard it. The default is changed to not print the message. In RFC4253 printing is a SHOULD, but our new default is to protect logs from dos attacs.
2015-05-13code: Correct type spec for code:make_stub_module/3Björn Gustavsson
e47490f83e561a changed the size of Info argument tuple (third argument) for code:make_stub_module/3 from 2 to 3, but did not update the spec in code.erl.
2015-05-13Fix failing test case and handling double functions on one linePeter Andersson
2015-05-13Revert "Prepare release"Henrik Nord
This reverts commit e09dd66dc4d89c62ddfd8c19791f9678d5d787c6.
2015-05-13Update OTP versionOTP-18.0-rc2Henrik Nord
2015-05-12Correct usage of sizeof() for pointer typesJesper Louis Andersen
Given some pointer *x, calling sizeof(x) will give us the size of the pointer (4/8 bytes) not the size fo the underlying dereferenced structure. Use coccinelle to search for these occurrences in the source code, and correct them one by one. In the case of erl_node_tables.c, the erts_snprintf() calls used a much too small buffer. - run_erl.c: Use the size of the signal type, not its pointer. - erl_node_tables.c: Use the size of the _BUFFER in erts_snprintf() to make sure we can use the full space.
2015-05-12Fix gen_tcp:shutdown/2 by making it asynchronousRory Byrne
If the driver queue is empty, or the user is requesting a 'read' shutdown, then the shutdown() syscall is performed synchronously, as per the old version of shutdown/2. However, if the user is requesting a 'write' or 'read_write' shutdown, and there is data in the driver queue for the socket, then the shutdown() syscall is delayed and handled asynchronously when the driver queue is written out. This version of shutdown solves a number of issues with the old version. The two main solutions it offers are: * It doesn't block when the TCP peer is idle or slow. This is the expected behaviour when shutdown() is called: the caller needs to be able to continue reading from the socket, not be prevented from doing so. * It doesn't truncate the output. The current version of gen_tcp:shutdown/2 will truncate any outbound data in the driver queue after about 10 seconds if the TCP peer is idle of slow. Worse yet, it doesn't even inform anyone that the data has been truncated: 'ok' is returned to the caller; and a FIN rather than an RST is sent to the TCP peer. For a detailed description of all the problems with the old version of shutdown, please see the EEP Light that was written to justify this patch.
2015-05-12Prepare releaseErlang/OTP
2015-05-12inets: reject negative content-lengthHans Nilsson
2015-05-12Update primary bootstrapRickard Green
2015-05-12Update preloaded modulesRickard Green
2015-05-12Merge branch 'rickard/timer-optimization/OTP-12650'Rickard Green
* rickard/timer-optimization/OTP-12650: Timer fixes, documentation, and test cases Conflicts: erts/emulator/beam/erl_hl_timer.c
2015-05-12Timer fixes, documentation, and test casesRickard Green
2015-05-12ssl: Refactored and corrected sni_fun handlingIngela Anderton Andin
Dialyzer warned about the incorrect match of Packets. Code was refactored and the problem avoided in the process. Dialyzer warned that the empty tuple is not a function as the contract said it should be. Changed the handling of the sni_fun default value to be undefined and added it to the contract.