aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2014-10-21dialyzer: remove recognition of the compiler option 'asm'Hans Bolinder
The compiler option 'asm' has been replaced by 'from_asm' in Erlang/OTP 18.0.
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 'tuncer/compiler/finalize-asm-deprecation/OTP-12100'Björn Gustavsson
* tuncer/compiler/finalize-asm-deprecation/OTP-12100: compiler: finalize 18.x 'asm' deprecation
2014-10-20Merge branch 'maint'Björn Gustavsson
* maint: BER decoding: Don't allow primitives with indefinite lengths
2014-10-20Merge branch 'bjorn/asn1/primitive-indefinite-length/OTP-12205' into maintBjörn Gustavsson
* bjorn/asn1/primitive-indefinite-length/OTP-12205: BER decoding: Don't allow primitives with indefinite lengths
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-16erts: Make writing to non-tty fds non-blockingLukas Larsson
If the fd_driver is given non-tty fds it will now use an async thread instead of doing a blocking write. An example of a non-tty fd is the fd used by stderr, but could be anything handed down to the driver.
2014-10-16erts: Make tty driver non-blockingLukas Larsson
Instead of using blocking call to fwrite, the tty driver now uses non-blocking calls to writev and queues any output data that cannot be written into the driver queue. Without this change an stdout write could block an entire scheduler if for some reason the pseudo tty on the other side does not consume the output of the Erlang shell. OTP-12239
2014-10-16Merge branch 'maint'Hans Nilsson
* maint: ssh: Fixes clause syntax error in ssh.appup.src
2014-10-16Merge branch 'hans/ssh/correct_appup' into maintHans Nilsson
* hans/ssh/correct_appup: ssh: Fixes clause syntax error in ssh.appup.src
2014-10-16ssh: Fixes clause syntax error in ssh.appup.srcHans Nilsson
2014-10-15Merge branch 'maint'Hans Nilsson
2014-10-15Merge branch 'hans/eldap/cuddle_with_tests' into maintHans Nilsson
2014-10-15Merge branch 'maint-17' into maintBruce Yinhe
Conflicts: OTP_VERSION
2014-10-14eldap: dynamically excludes unsupported ip versions.Hans Nilsson
2014-10-13Merge branch 'maint'Sverker Eriksson
2014-10-13Merge branch 'sverk/port_get_data-race/OTP-12208' into maintSverker Eriksson
* sverk/port_get_data-race/OTP-12208: erts: Mend port_set_data with non-immed data for halfword VM erts: Add test case for port_set_data and port_get_data erts: Fix race between port_set_data, port_get_data and port termination erts: Fix erlang:port_set_data/2 for non immediate data
2014-10-13Merge branch 'maint'Bruce Yinhe
2014-10-13Merge branch 'archimed-shaman/leex_line_wrap_issue' into maintBruce Yinhe
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
2014-10-13Merge branch 'ia/ssl/seperate-clinet-server-session-table/OTP-11365'Ingela Anderton Andin
* ia/ssl/seperate-clinet-server-session-table/OTP-11365: ssl: Separate session cache for client and server
2014-10-13ssl: Separate session cache for client and serverIngela Anderton Andin
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.
2014-10-13Merge branch 'maint'Hans Nilsson
2014-10-13Merge branch 'hans/ssh/closed_int/OTP-12004' into maintHans Nilsson
2014-10-13Updated OTP versionOTP-17.3.2Erlang/OTP
2014-10-13Update release notesErlang/OTP
2014-10-13Merge branch ↵Erlang/OTP
'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
2014-10-13Merge branch 'ia/17-patch/ssl/empty-sni-from-server/OTP-12198' into maint-17Erlang/OTP
* ia/17-patch/ssl/empty-sni-from-server/OTP-12198: ssl: Prepare for release ssl: Servers may include an empty SNI-extension
2014-10-13ssh: Prepare for releaseIngela Anderton Andin
2014-10-11Merge branch 'maint'Siri Hansen
2014-10-11Merge branch 'siri/observer/remove-doc-note/OTP-12078' into maintSiri Hansen
* siri/observer/remove-doc-note/OTP-12078: [observer] Remove note about R15B nodes in user guide
2014-10-10ssh: Add option sftp_vsnIngela Anderton Andin
2014-10-10[observer] Remove note about R15B nodes in user guideSiri Hansen
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.
2014-10-10Merge branch 'maint'Hans Bolinder
* maint: dialyzer: do a minor re-factoring dialyzer: Ignore ERL_COMPILER_OPTIONS when compiling dialyzer: fix bug concerning compiler option 'warnings_as_errors'
2014-10-10Merge branch 'hb/dialyzer/warnings_as_errors/OTP-12225' into maintHans Bolinder
* 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'
2014-10-09ssh: Fix option user_interaction to work as expectedIngela Anderton Andin
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.
2014-10-09ssh: Corrected ret val from ssh_connection:subsystem/4.Hans Nilsson
2014-10-09ssh: testcaseHans Nilsson
2014-10-08Merge branch 'maint'Hans Nilsson
* maint: ct: .gitignore ct_property_test.xml
2014-10-08Merge branch 'hans/update_gitignore' into maintHans Nilsson
* hans/update_gitignore: ct: .gitignore ct_property_test.xml
2014-10-08ct: .gitignore ct_property_test.xmlHans Nilsson
2014-10-08dialyzer: do a minor re-factoringHans Bolinder
A minor re-factoring and generalization.
2014-10-08Merge branch 'maint'Siri Hansen
2014-10-08Merge branch 'siri/cuddle-with-tests' into maintSiri Hansen
* siri/cuddle-with-tests: [ct test] Explicitly unregister event receiver to avoid badarg
2014-10-08dialyzer: Ignore ERL_COMPILER_OPTIONS when compilingHans Bolinder
If, for instance, 'warn_unused_import' is present in ERL_COMPILER_OPTIONS then many files in Erlang/OTP (Kernel, STDLIB, ...) cannot be analyzed by Dialyzer since the option is not present when compiling Erlang/OTP, but 'warnings_as_errors' is. The case that ERL_COMPILER_OPTIONS contains 'warnings_as_errors' can only be handled by ignoring ERL_COMPILER_OPTIONS.
2014-10-08ssl: Prepare for releaseIngela Anderton Andin
2014-10-08ssl: Servers may include an empty SNI-extensionIngela Anderton Andin
2014-10-08dialyzer: fix bug concerning compiler option 'warnings_as_errors'Hans Bolinder
A typical scenario: the type digraph() is used in R16 (compilation with the option 'warnings_as_errors' results in no warning); then the module is analyzed by a 17 Dialyzer where digraph() is obsolete, and since the warning is turned into an error Dialyzer fails to load the module. Thanks to Michael Truog.