aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2015-06-09Apply 'show_econnreset' socket option to send errors as wellRory Byrne
Up till now all send errors have been translated into a generic {error, closed}. This patch allows {error, econnreset} to be returned on send errors when it is detected that the TCP peer has sent an RST.
2015-06-09Add 'show_econnreset' TCP socket optionRory Byrne
An ECONNRESET is a socket error which tells us that a TCP peer has sent an RST. The RST indicates that they have aborted the connection and that the payload we have received should not be considered complete. Up until now, the implementation of TCP in inet_drv.c has hidden the receipt of the RST from the user, treating it as though it was just a FIN terminating the read side of the socket. There are many cases where user code needs to be able to distinguish between a socket that was closed normally and one that was aborted. Setting the option {show_econnreset, true} enables the user to receive ECONNRESET errors on both active and passive sockets. A connected socket returned from gen_tcp:accept/1 will inherit the show_econnreset setting of the listening socket. By default this option is set to {show_econnreset, false}. Note that this patch only enables the reporting of ECONNRESET when the socket is being read from. It does not report ECONNRESET (or EPIPE) when the user tries to write to a connection when an RST has already been received. Currently the TCP implementation in inet_drv.c hides all such send errors from the user in favour of returning {error, close}. A separate patch will be needed to enable the reporting of such errors.
2015-06-08Merge branch 'richcarl/shut-up-xmerl'Henrik Nord
* richcarl/shut-up-xmerl: Stop xmerl printing to stdout OTP-12810
2015-06-08Merge branch 'lharc/ct2'Henrik Nord
* lharc/ct2: ct_slave: ssh_port, ssh_opts options to start/3 common_test: start ssh and dependencies OTP-12809
2015-06-08Merge branch 'egil/fix-inet_res'Björn-Egil Dahlberg
* egil/fix-inet_res: kernel: Fix inet time conversion
2015-06-08kernel: Fix inet time conversionBjörn-Egil Dahlberg
2015-06-08Merge branch 'hans/ssh/cuddle_tests'Hans Nilsson
* hans/ssh/cuddle_tests: ssh: Change to ct:sleep in ssh_basic_SUITE ssh: add empty password to the probing ssh_test_lib:openssh_sanity_check/1 ssh: Replace ct:sleep with timer:sleep for long sleeps ssh: timeout fixes in ssh_basic_SUITE
2015-06-08Merge branch 'mikpe/mnesia-openlog-emfile'Henrik Nord
* mikpe/mnesia-openlog-emfile: mnesia: don't delete log file on emfile error OTP-12807
2015-06-08Merge branch 'egil/fix-internal_hash-list-opt'Björn-Egil Dahlberg
* egil/fix-internal_hash-list-opt: erts: Fix faulty list optimization in make_internal_hash
2015-06-08erts: Fix faulty list optimization in make_internal_hashBjörn-Egil Dahlberg
Reported-by: Rory Byrne
2015-06-05Merge branch 'henrik/typo-fix-branch'Henrik Nord
* henrik/typo-fix-branch: Fixing typo
2015-06-05Merge branch 'richcarl/eunit-2.2.10'Henrik Nord
* richcarl/eunit-2.2.10: bumped revision clean up a comment Improve surefire xml <testcase> element Conflicts: lib/eunit/src/eunit_surefire.erl lib/eunit/vsn.mk
2015-06-05Merge branch 'hans/ssh/check_dirs/OTP-12788'Hans Nilsson
* hans/ssh/check_dirs/OTP-12788: ssh: Check that user_dir and system_dir exists and are readable
2015-06-05Merge branch 'hans/ssh/disconnectfun/OTP-12789'Hans Nilsson
* hans/ssh/disconnectfun/OTP-12789: ssh: make disconnectfun work for both server&client
2015-06-05ssh: Check that user_dir and system_dir exists and are readableHans
2015-06-05Merge branch 'scrapinghub/proper_stop_on_handling_keepalive_queue'Zandra Hird
* scrapinghub/proper_stop_on_handling_keepalive_queue: inets: proper stop for httpc_handler K-A queue failure OTP-12803
2015-06-05ssh: Change to ct:sleep in ssh_basic_SUITEHans
2015-06-05Merge branch 'dgud/observer/cdw-update/OTP-12363'Dan Gudmundsson
* dgud/observer/cdw-update/OTP-12363: observer: cdv add scheduler information observer: cdv add more ets information Reorder scheduler information in crashdumps
2015-06-05observer: cdv add scheduler informationDan Gudmundsson
New info in 18.
2015-06-05observer: cdv add more ets informationDan Gudmundsson
Info available from erl-18 nodes.
2015-06-05Reorder scheduler information in crashdumpsDan Gudmundsson
To make it easier to parse stack trace information from tools
2015-06-05Merge branch 'bjorn/kernel/cuddle-with-tests'Björn Gustavsson
* bjorn/kernel/cuddle-with-tests: Clean up rpc_SUITE:call_benchmark/1 Eliminate use of erlang:now/0 for generating random numbers Eliminate use of erlang:now/0 for measuring time Eliminate use of erlang:now/0 for generating unique node names
2015-06-05Clean up rpc_SUITE:call_benchmark/1Björn Gustavsson
The call_benchmark/1 test case is supposed to return a comment about the number of RPC calls per second, but the return value from the function that produces the comment (do_call_benchmark/4) is ignored. The test case is essentially useless except as a smoke test. Simplify the test case and correct the showing of the number of RPC calls per second, as well as eliminate the use of erlang:now/0.
2015-06-04ssh: add empty password to the probing ssh_test_lib:openssh_sanity_check/1Hans
This is to give a quick end if the test is run a maskin where it can't log in to the OpenSSH server.
2015-06-04Merge branch 'zhird/leoliu/dbg_wx_trace/arg-to-gui_enable_updown'Zandra Hird
* zhird/leoliu/dbg_wx_trace/arg-to-gui_enable_updown: Fix argument to gui_enable_updown in dbg_wx_trace:init/6
2015-06-04ssh: Replace ct:sleep with timer:sleep for long sleepsHans
On two of our test machines, ct:sleep was scaled to a ridicously long time (10 x). This made the key renegotiation to trigger wich the test case was designed not to tolerate. By reducing the sleep time to the intended order of magnitude, hopfully the test cases will work.
2015-06-04Merge branch 'dw/error_on_nan_inf/OTP-12801'Björn-Egil Dahlberg
* dw/error_on_nan_inf/OTP-12801: erl_interface: Move math.h include after eidef.h erl_interface: Remove configure test for isfinite erl_interface: Surround isfinite with HAVE_ISFINITE conditional erl_interface: Move isfinite definition to header erl_interface: Use isfinite instead of fpclassify erl_interface: Document non finite encoding returns Do not accept Nan and Infinity values Fix one-letter typo
2015-06-04ssh: timeout fixes in ssh_basic_SUITEHans
The testcases ssh_connect_negtimeout_parallel ssh_connect_negtimeout_sequential max_sessions_sftp_start_channel_sequential max_sessions_sftp_start_channel_parallel max_sessions_ssh_connect_sequential max_sessions_ssh_connect_parallel sometimes failed on certain machines. Tried to increase timeouts and added a sleep. (Not exactly the best way of doing real time programming....)
2015-06-04ssh: make disconnectfun work for both server&clientHans
2015-06-04Merge branch 'henrik/fix-inets-tests'Henrik Nord
* henrik/fix-inets-tests: inets: correct the calls in start_apps
2015-06-04Merge branch 'egil/cuddle-tests'Björn-Egil Dahlberg
* egil/cuddle-tests: erts: Remove remaining ?line macros in trace_meta_SUITE erts: Relax trace_meta_SUITE:on_and_off_test/1 erts: Remove ?line macro in trace_meta_SUITE:on_and_off_test/1 kernel: Remove remaining ?line macros in gen_tcp_misc_SUITE kernel: Relax gen_tcp_misc_SUITE don't wait for timeout kernel: Relax test gen_tcp_misc_SUITE:wrapping_oct/1
2015-06-04erts: Remove remaining ?line macros in trace_meta_SUITEBjörn-Egil Dahlberg
Also, fixed some confusing indentations and whitespace errors. This commit only has whitespace changes and removal of ?line macros.
2015-06-04erts: Relax trace_meta_SUITE:on_and_off_test/1Björn-Egil Dahlberg
2015-06-04erts: Remove ?line macro in trace_meta_SUITE:on_and_off_test/1Björn-Egil Dahlberg
2015-06-04kernel: Remove remaining ?line macros in gen_tcp_misc_SUITEBjörn-Egil Dahlberg
Also, fixup some confusing indentations. This commit only contains whitespace changes and removal of ?line macros.
2015-06-04inets: correct the calls in start_appsHenrik Nord
2015-06-04Update primary bootstrapBjörn Gustavsson
2015-06-04Merge branch 'bjorn/compiler/spurious-warning'Björn Gustavsson
* bjorn/compiler/spurious-warning: sys_core_fold: Eliminate warnings for unused terms in effect context sys_core_fold: Eliminate warnings for unused terms
2015-06-03Merge branch 'kostis/llvm-now'Henrik Nord
* kostis/llvm-now: Replace call to erlang:now() with appropriate call to 18.0 BIF
2015-06-03Merge branch 'scrapinghub/async-typo'Henrik Nord
* scrapinghub/async-typo: Typo 'asynchroneous' fix
2015-06-03Merge commit fixing typoHenrik Nord
Thanks to Nathanael Bartley
2015-06-03Merge branch 'jh/freebsdcpu/OTP-12796'Björn-Egil Dahlberg
* jh/freebsdcpu/OTP-12796: os_mon: Comply with C89 standard os_mon: Update docs for FreeBSD os_mon: Implement cpu_sup:util/0,1 for FreeBSD
2015-06-02Merge branch 'nybek/fix_gen_tcp_shutdown'Zandra Hird
OTP-12797
2015-06-02erl_interface: Move math.h include after eidef.hBjörn-Egil Dahlberg
2015-06-02erl_interface: Remove configure test for isfiniteBjörn-Egil Dahlberg
2015-06-02erl_interface: Surround isfinite with HAVE_ISFINITE conditionalBjörn-Egil Dahlberg
2015-06-02erl_interface: Move isfinite definition to headerBjörn-Egil Dahlberg
2015-06-02Merge branch 'josevalim/jv-annotate-form-type'Henrik Nord
* josevalim/jv-annotate-form-type: Annotate used types in erl_lint OTP-12800
2015-06-02Merge branch 'tombriden/handle_ssl_error'Henrik Nord
* tombriden/handle_ssl_error: TLS Dist: Handle ssl_error and close ssl socket OTP-12799
2015-06-02Merge branch 'weiss/propagate-setopt-error'Henrik Nord
* weiss/propagate-setopt-error: Don't throw exception on prim_inet:setopt/3 error OTP-12798