aboutsummaryrefslogtreecommitdiffstats
path: root/lib/kernel
AgeCommit message (Collapse)Author
2014-10-20Merge branch 'lukas/erts/non-blocking-shell'Lukas Larsson
* 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
2014-10-20Merge branch 'maint'Bruce Yinhe
2014-10-20Merge branch 'adelzhang/fix_application_master_comment' into maintBruce Yinhe
* adelzhang/fix_application_master_comment: Fix obsolete comment
2014-10-16Fix io:columns/0 timeout when invoked via userJosé Valim
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
2014-10-16kernel,ssh: Add synchronous user_drv protocolLukas Larsson
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
2014-10-06Merge branch 'maint'Bruce Yinhe
2014-10-02Fix obsolete commentadelzhang
spawn_request/1 is obsolete since R11B-0
2014-10-01Make shell ctrl-u save killed text correctlySteve Vinoski
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.)
2014-09-30Merge branch 'maint'Henrik Nord
2014-09-30Merge branch 'maint-17' into maintHenrik Nord
Conflicts: OTP_VERSION lib/ssh/test/ssh_connection_SUITE.erl
2014-09-25Merge branch 'maint'Marcus Arendt
2014-09-25Merge branch 'lemenkov/install_additional_headers/OTP-12197' into maintMarcus Arendt
* lemenkov/install_additional_headers/OTP-12197: Install internal hrl files when necessary
2014-09-25Do not test appup of core apps for upgrade from current vsnSiri Hansen
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.
2014-09-22Merge remote-tracking branch 'upstream/maint'Ingela Anderton Andin
2014-09-22Merge branch 'davidw/fix-typo-error-logger-doc' into maintMarcus Arendt
* davidw/fix-typo-error-logger-doc: Fixed typo: was/were
2014-09-17Merge tag 'OTP-17.3'Henrik Nord
=== 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
2014-09-15Fixed typo: was/wereDavid N. Welton
2014-09-15Update release notesErlang/OTP
2014-09-15Update version numbersErlang/OTP
2014-09-09Merge branch 'egil/erlang-get_keys/OTP-12151'Björn-Egil Dahlberg
* 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
2014-08-28Merge branch 'maint'Marcus Arendt
2014-08-26Install internal hrl files when necessaryPeter Lemenkov
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]>
2014-08-25Fix misspellings of 'another'Tuncer Ayaz
2014-08-22stdlib: Auto-import erlang:get_keys/0Björn-Egil Dahlberg
2014-08-22kernel: Test BIF erlang:get_keys/0Björn-Egil Dahlberg
2014-08-21Merge branch 'maint'Marcus Arendt
2014-08-14Refactor erl_epmd:names/1Luca Favatella
Simplify erl_epmd:names/1, keeping the same functionalities, relying on inet:gethostbyname/1 being able to handle both atoms and strings.
2014-08-14Accept inet:ip_address() in net_adm:names/1Luca Favatella
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).
2014-08-06Merge branch 'maint'Lukas Larsson
* maint: erts: Fix tc and docs after {fd,FD} bind change
2014-08-06erts: Fix tc and docs after {fd,FD} bind changeLukas Larsson
The sha of the original change is 52810718b
2014-07-25Merge branch 'maint'Henrik Nord
2014-07-25fix xml file merge messupHenrik Nord
2014-07-24Merge branch 'maint'Henrik Nord
Conflicts: erts/preloaded/ebin/prim_inet.beam
2014-07-24Merge branch 'maint-r16' into maintHenrik Nord
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
2014-07-22Update release notesErlang/OTP
2014-07-22Fix default behaviour for legacy fdopenHenrik Nord
Update testcase for gen_udp:open/2 with option fd
2014-07-22kernel: When doing an fdopen we now also bind the fd to the specified addr/portLukas Larsson
2014-07-11Merge branch 'maint'Erland Schönbeck
2014-07-10Prepare releaseErlang/OTP
2014-07-10Merge branch 'nox/filelib-wildcard-broken-link' into maint-17Erlang/OTP
* 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
2014-07-09Update runtime dependenciesSiri Hansen
2014-07-09Add tests of filelib and symlinksSiri Hansen
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) -> []
2014-07-09Fix handling of broken symlinks in filelibAnthony Ramine
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
2014-06-24Merge tag 'OTP-17.1'Marcus Arendt
=== 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
2014-06-19Prepare releaseErlang/OTP
2014-06-17Merge branch 'maint'Björn Gustavsson
* 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
2014-06-17Merge branch 'bjorn/kernel/remove-file_info-vestiges/OTP-11982' into maintBjörn Gustavsson
* bjorn/kernel/remove-file_info-vestiges/OTP-11982: Remove documentation and stub for non-exist file:file_info/1
2014-06-13Remove documentation and stub for non-exist file:file_info/1Björn Gustavsson
file:file_info/1 was removed a long time ago, but its documentation was not removed.
2014-06-12Merge branch 'maint'Björn Gustavsson
* maint: Allow unsticking pre-loaded modules
2014-06-12Allow unsticking pre-loaded modulesBjörn Gustavsson
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.