Age | Commit message (Collapse) | Author |
|
* maint:
Fix rare race condition in Dets
|
|
The correction is due to the the evil testcase
dets_SUITE:simultaneous_open(). If the process repairing a Dets file
is killed (should normally never happen), and another process tries to
repair the file, a temporary file from the first process could live on
for a while, even after a successful call to file:delete(). This has
only been seen on W-nd-ows, where it is a known problem.
There are other ways to deal with the problem (rename the file; use
some other filename), but we continue using one certain filename in
order to be as backwards compatible as possible.
|
|
* maint:
debugger: clean up Common Test adaption
|
|
* hb/debugger/ct_line_cleanup:
debugger: clean up Common Test adaption
|
|
* hb/dialyzer/compiler_option_asm_removed:
dialyzer: remove recognition of the compiler option 'asm'
|
|
|
|
OTP-12256
* HansN/prop_test_updates:
Optimizations
ssh_eqc_encode_decode.erl compiles
Add timeout to a property test (Thanks John & Tobias @ QuviQ)
Reduce the total testing time for the properties to 20 seconds
No side effects in function arguments
Passing global var to QuickCheck statemachine
|
|
|
|
OTP-12255
* vinsentru/inets_ftp_extension:
INETS FTP: EPSV and EPRT for IPv4 added
|
|
|
|
* qrilka/patch-2/typo-fix:
Minor misprints correction
|
|
* egil/map-type-opt/OTP-12253:
compiler: Type is_nonempty_list optimization
compiler: Type map optimization
|
|
|
|
* peppe/common_test/crash_during_close:
Solve memory consumption problem
Fix problem with buffered async io messages executed too late
Don't generate weird exit if ct_logs has terminated before shut down
OTP-12159
|
|
The compiler option 'asm' has been replaced by 'from_asm' in
Erlang/OTP 18.0.
|
|
The ct_line module was removed some releases ago.
|
|
* lukas/erts/non-blocking-shell:
Fix io:columns/0 timeout when invoked via user
kernel,ssh: Add synchronous user_drv protocol
erts: Make writing to non-tty fds non-blocking
erts: Make tty driver non-blocking
|
|
* tuncer/compiler/finalize-asm-deprecation/OTP-12100:
compiler: finalize 18.x 'asm' deprecation
|
|
* maint:
BER decoding: Don't allow primitives with indefinite lengths
|
|
* bjorn/asn1/primitive-indefinite-length/OTP-12205:
BER decoding: Don't allow primitives with indefinite lengths
|
|
|
|
* adelzhang/fix_application_master_comment:
Fix obsolete comment
|
|
|
|
This patch fixes an issue where io:columns/0 times out when invoked from
any application callback (or any supervisor/supervised module since the
group leader is inherited).
To reproduce the issue, one must simply call io:columns() from any
application callback. You will notice the process will block for 2 seconds
which then times out and returns {:error, :enotsup}.
Note this bug only happens inside the erlang shell (using -noshell or
escripts do not trigger the bug).
To fix the bug, it is important to understand how io requests flow from
application callback processes. Here are the steps followed:
1. Since io:columns/1 is timing out, the first step is to find out who is the
group leader for the application callback process. Using process_info/1, we
can see the parent process is the application_master and handles
io_requests by delegating them to the group_leader.
2. By inspecting the application_master process, we can find the group_leader
the message is sent is the registered process named user. The process is
running the group module which does handle io:columns/1 requests delegating
them to user_drv process.
3. The user_drv process does handle tty_geometry requests, except that a
clause above ends up short-circuiting all tty_geometry requests from the
user process.
This patch moves the user clause below the specific driver messages.
OTP-12241
|
|
Added a put_chars_sync to the protocol that can be used to
talk to user_drv and made group use it. This is needed in order
to guarantee that bytes has been pushed to the tty port when
doing something like this:
io:format("halting\n"),erlang:halt(0).
Before this change the halting message could be lost in the message
queue of the user_drv process, this is no longer possible.
This commit also fixes ssh_cli as that plugs itself in as a user_drv
process.
OTP-12240
|
|
* maint:
ssh: Fixes clause syntax error in ssh.appup.src
|
|
|
|
|
|
|
|
|
|
Conflicts:
OTP_VERSION
|
|
|
|
|
|
|
|
OTP-12238
* archimed-shaman/leex_line_wrap_issue:
Fix line counting in token and tokens functions
Add unit test for string fun in leex test suite
Fix the line counting in string function
|
|
* ia/ssl/seperate-clinet-server-session-table/OTP-11365:
ssl: Separate session cache for client and server
|
|
Even though in the most common case an erlang node will not be both client
and server, it may happen (for instance when running the erlang ditribution
over TLS).
Also try to mitigate the affect of dumb clients that could cause a
very lagre session cache on the client side that can cause long delays
in the client. The server will have other means to handle a large
session table and will not do any select operations on it anyhow.
|
|
|
|
|
|
|
|
'ia/patch-17/ssh/user-interaction/OTP-11329/sftp-version/OTP-12227' into maint-17
* ia/patch-17/ssh/user-interaction/OTP-11329/sftp-version/OTP-12227:
ssh: Prepare for release
ssh: Add option sftp_vsn
ssh: Fix option user_interaction to work as expected
|
|
|
|
|
|
|
|
A note in the user guide says "Only R15B nodes can be observed". This
note was written because the observer_backend module did not exist in
earlier releases. It should have said "R15B or later". However, now
that we are on OTP-17, we don't think the note is necessary anymore so
it is now removed.
|
|
* maint:
dialyzer: do a minor re-factoring
dialyzer: Ignore ERL_COMPILER_OPTIONS when compiling
dialyzer: fix bug concerning compiler option 'warnings_as_errors'
|
|
* hb/dialyzer/warnings_as_errors/OTP-12225:
dialyzer: do a minor re-factoring
dialyzer: Ignore ERL_COMPILER_OPTIONS when compiling
dialyzer: fix bug concerning compiler option 'warnings_as_errors'
|
|
When password authentication is implemented with ssh
keyboard-interactive method and the password is already supplied, so
that we do not need to query the user, connections should
succeed even though the user_interaction option is set to false.
|
|
|
|
|