Age | Commit message (Collapse) | Author |
|
The usage calculation only looked at the allocation in GC BIFs, not
at the source and destination registers. Also, if there is a failure
label, make sure that we test whether the register can be used there.
|
|
The liveness at the failure label should be ignored, because if
there is an exception, all x registers will be killed.
|
|
The code generator uses conservative liveness information. Therefore
the number of live registers in allocation instructions (such as
test_heap/2) may be too high. Use the actual liveness information
to lower the number of live register if it's too high.
The main reason we want to do this is to enable more optimizations
that depend on liveness analysis, such as the beam_bool and beam_dead
passes.
|
|
Less conservative liveness analysis allows more optimizations
to be applied (such as the ones in beam_bool).
|
|
Add some comments to make the code generation for binary
construction somewhat clearer. Also get rid of the cg_bo_newregs/2
function that serves no useful purpose. (It was probably
intended to undo the effect of cg_live/2, but note that the
value passed to cg_bo_newregs/2 has not passed through cg_live/2.)
|
|
|
|
|
|
* test_server_node:start_node/3 now uses timetrap_scale_factor for
timeouts (peer nodes)
|
|
|
|
* egil/inets/remove-tracing-in-tests:
inets: Remove dbg tracing from testcases
|
|
* egil/remove-unused-files:
Remove unused files from old native dns resolver
|
|
* sze/improve-interoperability-SSH-clients:
Improve interoperability with SSH clients
OTP-10475
|
|
* jn/ets-match-pattern-export-type:
Export ets:match_pattern/0 type
Conflicts:
lib/stdlib/src/ets.erl
OTP-10472
|
|
Under Unix enable TCP_NODELAY to disable Nagel's socket algorithm
(Removes ~40ms delay on Redhat ES 6).
|
|
The bug in the contract of erl_ddll:format_error_int/1 in R15B that
was copied to R16B (OTP-9862) has been fixed.
|
|
Peeloff feature of SCTP association creates a new socket which is not
set to nonblocking.
Function for receving data is shared with udp which has a default
loop when reading packets which is set to 5.
Calling the receive function more then once, is fine as long as
there are more data to receive or socket are nonblocking.
Set new peeled off socket to be nonblocking to prevent a erlang vm hangup.
|
|
Test case for testing socket option {active, true} after
association is peeled off.
|
|
* hb/stdlib/opaque_warnings/OTP-10436:
Fix Dialyzer warnings
|
|
* sverk/code-load-refactor-later-op:
erts: Fix faulty lock check assert
erts: Refactor naming regarding code_write_permission
erts: Refactor tracing to use erts_schedule_thr_prgr_later_op
erts: Allow thr_prgr_later_op to reschedule
erts: Refactor code loading to use erts_schedule_thr_prgr_later_op
erts: Remove some compiler warnings
|
|
* ia/ssl/controlling-process-on-listen-socket/OTP-10447:
ssl: Improve #sslsocket{} API
ssl: It is now possible to call controlling_process on a listen socket, same as in gen_tcp.
|
|
If a child fails to start, supervisor relies upon error_logger which does not
work when IO is inhibited. Instead pass the error up the chain and let someone
else use a proper Reason for any possible printouts.
|
|
This patch fixes a few problems of the SSH shell server that affect the
interoperability with SSH clients in widespread use.
First problem is that, whenever a channel_request message is
received with want_reply=true, the reply ends up being sent to the
servers channel id, not the clients channel id. This causes the client
to terminate the connection. The easiest solution to the problem appears
to be a new function in ssh_connection_manager.erl that translates the
servers channel id before sending the reply (in the same manner as
other functions do it).
Second problem is in ssh_cli.erl. When an SSH client sends a
window_change request between PTY allocation and starting the shell
(which appears to happen with some clients), ssh_cli.erl crashes
because #state.buf is yet 'undefined'. Allocating an empty buffer at PTY
allocation time solves the problem.
Affected SSH clients:
- all clients based on SSH-2.0-TrileadSSH2Java_213 (problem #1)
- SSH Term Pro (problem #2)
|
|
Scaling timetraps depending on cover, debug-compiled emulator and so
on is built-in to the test_server. Therefore, {multiply_timetraps,Scale}
should not be set (it would multiply the timeout value twice). Only
{scale_timetraps,true} needs to be set, and it must be set
unconditionally as the feature tests in
test_server:timetrap_scale_factor() may not return the correct
scale factor until the test_server node and test cases have been
started (for example, there is no cover server running).
|
|
Opaque types need to be exported.
|
|
* ia/ssh/sending-large-data-and-eof/OTP-10467:
ssh: Make test case platform independant
ssh: ssh_connection:channel_data() and send_eof() now return {error, closed} for closed or invalid channels.
ssh: Ensure that all data is sent before ssh:send returns.
ssh: add test suite for testing channel send/receive behavior.
|
|
* ia/ssl/sslv2-test:
ssl: Better test to determine if sslv2 is supported by openssl
|
|
The test case interrupted_send did not work on all platforms.
Also ct-ify the test suite
|
|
for closed or invalid channels.
ssh_connection:handle_msg(#ssh_msg_channel_close...) will now cause any send() that was in progress to immediately return {error,closed}.
|
|
|
|
|
|
|
|
* gp/make_erlang_mode_elpa_friendly:
Make erlang-mode more compatible with package.el
OTP-10465
|
|
|
|
|
|
* sa/dialyzer-fix-r15b02:
Fix a crash in race condition detection
Remove old untested experimental extension
Respect {plt_check,false} option when using dialyzer:run/1
Fix handling of tuple set remote types appearing in tuple sets
OTP-10464
|
|
* bjorn/test_server/fix-test-cases:
Provided better information when the test cases fail
Remove the useless test_server_line_SUITE test suite
test_server_SUITE: Remove the undefined_functions/1 test case
|
|
* egil/fix-doc-vxworks:
doc: Remove forgotten vxworks reference
|
|
* raimo/inets/https-proxy/OTP-10256:
inets httpc: Document that RFC 2817 is not supported
inets: Dialyzer fixes
inets httpc: TLS via proxy
inets: Remove obsolete testcases that are now in the proxy suite
inets: Add tests using external proxy running on localhost
|
|
|
|
|
|
Introduces new option htts_proxy so that it is possible
to have different proxies for http and https. The new option
defaults to the old proxy option.
Implements HTTP-1.1 extension method CONNECT to establish SSL/TLS tunnel
We choose not to implement "TLS upgrade" as defined by RFC 2817 as
this method of upgrade is vulnerable to man in the middle attacks,
can be easily broken by proxies and does not seem to be widely adopted.
|
|
|
|
|
|
|
|
|
|
A #sslsocket{} contains the fsm pid and value that was previously set to
old_ssl or new_ssl to make the transition period smoother. Now that old
ssl is not supported any more we use this field to store the inet socket
reference instead. This enables some API functions to return quicker
as they do not need to communicate with the fsm-process.
|
|
same as in gen_tcp.
Made error handling of listen sockets as arguments to funtions
expecting a connected socket more inet/gen_tcp like.
|
|
* dg/keyboard_interactive:
fix typo in keyboard-interactive string
OTP-10456
|
|
While at it, also make the path to the directory with the log files
a clickable link.
|
|
* siri/common_test/ct_snmp-tests:
[common_test] Added tests and corrected bugs in ct_snmp
OTP-10454
OTP-10434
|