Age | Commit message (Collapse) | Author |
|
* 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
|
|
|
|
* 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
|
|
|
|
spawn_request/1 is obsolete since R11B-0
|
|
Fix edlin to correctly save text killed with ctrl-u. Prior to this fix,
entering text into the Erlang shell and then killing it with ctrl-u
followed by yanking it back with ctrl-y would result in the yanked text
being the reverse of the original killed text.
Add a test for the fix to interactive_shell_SUITE.
(This is the same fix as in PR#416, but that PR was never completed.)
|
|
|
|
Conflicts:
OTP_VERSION
lib/ssh/test/ssh_connection_SUITE.erl
|
|
|
|
* lemenkov/install_additional_headers/OTP-12197:
Install internal hrl files when necessary
|
|
The appup tests for kernel, stdlib and sasl tests that the appup file
allows upgrade from the previous and current major release to the
current release. If, in the current release, the application version
was not changed compared to the previous release, then we would still
test that the appup supported the upgrade (i.e. from current release
to current release). This is now changed, in order to avoid test
failures on patch releases where kernel, stdlib and sasl are not
changed.
|
|
|
|
* davidw/fix-typo-error-logger-doc:
Fixed typo: was/were
|
|
=== OTP-17.3 ===
Changed Applications:
- asn1-3.0.2
- common_test-1.8.2
- compiler-5.0.2
- crypto-3.4.1
- dialyzer-2.7.2
- diameter-1.7.1
- edoc-0.7.15
- erl_docgen-0.3.6
- erl_interface-3.7.18
- erts-6.2
- eunit-2.2.8
- hipe-3.11.1
- ic-4.3.6
- inets-5.10.3
- jinterface-1.5.10
- kernel-3.0.3
- megaco-3.17.2
- mnesia-4.12.3
- observer-2.0.2
- odbc-2.10.21
- os_mon-2.3
- ose-1.0.1
- public_key-0.22.1
- sasl-2.4.1
- snmp-5.1
- ssh-3.0.5
- ssl-5.3.6
- stdlib-2.2
- tools-2.7
- wx-1.3.1
Unchanged Applications:
- cosEvent-2.1.15
- cosEventDomain-1.1.14
- cosFileTransfer-1.1.16
- cosNotification-1.1.21
- cosProperty-1.1.17
- cosTime-1.1.14
- cosTransactions-1.2.14
- debugger-4.0.1
- eldap-1.0.3
- et-1.5
- gs-1.5.16
- orber-3.7
- otp_mibs-1.0.9
- parsetools-2.0.11
- percept-0.8.9
- reltool-0.6.6
- runtime_tools-1.8.14
- syntax_tools-1.6.16
- test_server-3.7.1
- typer-0.9.8
- webtool-0.8.10
- xmerl-1.3.7
Conflicts:
OTP_VERSION
erts/vsn.mk
|
|
|
|
|
|
|
|
* egil/erlang-get_keys/OTP-12151:
Update preloaded erlang.beam
erts: Document erlang:get_keys/0
stdlib: Auto-import erlang:get_keys/0
erts: Add spec for erlang:get_keys/0
kernel: Test BIF erlang:get_keys/0
erts: Add BIF erlang:get_keys/0
|
|
|
|
Sometimes we install *.erl files. Some these files include a private
*.hrl files, so in order to make these *.erl files usable we have to
install these private includes as well.
Signed-off-by: Peter Lemenkov <[email protected]>
|
|
|
|
|
|
|
|
|
|
Simplify erl_epmd:names/1, keeping the same functionalities, relying
on inet:gethostbyname/1 being able to handle both atoms and strings.
|
|
This change also simplifies the code avoiding a double (conditional)
call to inet:gethostbyname/1 (in net_adm:names/1 and then
erl_epmd:names/1).
|
|
* maint:
erts: Fix tc and docs after {fd,FD} bind change
|
|
The sha of the original change is 52810718b
|
|
|
|
|
|
Conflicts:
erts/preloaded/ebin/prim_inet.beam
|
|
Conflicts:
erts/doc/src/notes.xml
erts/preloaded/ebin/prim_inet.beam
erts/vsn.mk
lib/kernel/doc/src/notes.xml
lib/kernel/vsn.mk
|
|
|
|
Update testcase for gen_udp:open/2 with option fd
|
|
|
|
|
|
|
|
* nox/filelib-wildcard-broken-link:
Update stdlib appup file
Update runtime dependencies
Update preloaded
Add tests of filelib and symlinks
Fix handling of broken symlinks in filelib
Conflicts:
erts/preloaded/ebin/erl_prim_loader.beam
|
|
|
|
This commit complements 769996c0cd4cb68c157e39de725642f209ed7423 and
adds tests for the following problems introduced by
f11aabdc9fec593c31e6c4f3fa25c1707e9c35df:
Given the symlink 'dirlink' pointing to an existing dir, then
- filelib:is_regular("dirlink") -> false
- filelib:is_dir("dirlink") -> false
Given the symlink 'filelink' pointing to an existing file, then
- filelib:is_regular("filelink") -> false
- filelib:is_file("filelink") -> false
- filelib:last_modified("filelink") and filelib:filesize("filelink")
return the info of the link and not the file
Given the symlink "broken_symlink" pointing to a non-existing file, then
- filelib:wildcard("broken_symlink",File) -> []
|
|
This fixes a bug introduced in f11aabdc9fec593c31e6c4f3fa25c1707e9c35df where
filelib:eval_read_file_info/2 was made to use file:read_link_info/1 to never
follow symlinks. This fixed wildcard/1 but broke every other function using
eval_read_file_info/2.
Reported-by: Louis-Philippe Gauthier
Reported-by: Danil Zagoskin
|
|
=== OTP-17.1 ===
Changed Applications:
- asn1-3.0.1
- common_test-1.8.1
- compiler-5.0.1
- crypto-3.4
- debugger-4.0.1
- dialyzer-2.7.1
- diameter-1.7
- erl_interface-3.7.17
- erts-6.1
- hipe-3.11
- inets-5.10.2
- kernel-3.0.1
- mnesia-4.12.1
- observer-2.0.1
- reltool-0.6.6
- ssh-3.0.3
- ssl-5.3.5
- stdlib-2.1
- syntax_tools-1.6.15
- test_server-3.7.1
- tools-2.6.15
- typer-0.9.8
- wx-1.3
Unchanged Applications:
- cosEvent-2.1.15
- cosEventDomain-1.1.14
- cosFileTransfer-1.1.16
- cosNotification-1.1.21
- cosProperty-1.1.17
- cosTime-1.1.14
- cosTransactions-1.2.14
- edoc-0.7.13
- eldap-1.0.3
- erl_docgen-0.3.5
- et-1.5
- eunit-2.2.7
- gs-1.5.16
- ic-4.3.5
- jinterface-1.5.9
- megaco-3.17.1
- odbc-2.10.20
- orber-3.6.27
- os_mon-2.2.15
- ose-1.0
- otp_mibs-1.0.9
- parsetools-2.0.11
- percept-0.8.9
- public_key-0.22
- runtime_tools-1.8.14
- sasl-2.4
- snmp-4.25.1
- webtool-0.8.10
- xmerl-1.3.7
|
|
|
|
* maint:
Fix handling of latin1 characters in false ifdef branches
add_abstract_code: Remove 'from_asm' option
Remove documentation and stub for non-exist file:file_info/1
|
|
* bjorn/kernel/remove-file_info-vestiges/OTP-11982:
Remove documentation and stub for non-exist file:file_info/1
|
|
file:file_info/1 was removed a long time ago, but its
documentation was not removed.
|
|
* maint:
Allow unsticking pre-loaded modules
|
|
Commit ed06dd12ea74018b902a2c4c7924313d23cedb75 made pre-loaded
modules (such as erlang) sticky, and also made it impossible to
unstick them to prevent them from ever be reloaded.
It turns out that there are tools that may want to instrument
the erlang module (such as concuerror), so making it
impossible to unstick modules is harsh. Therefore, revert the
part of the commit that prevented unsticking the pre-loaded
modules.
|