Age | Commit message (Collapse) | Author |
|
|
|
|
|
Conflicts:
OTP_VERSION
|
|
|
|
|
|
|
|
* 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
|