Age | Commit message (Collapse) | Author |
|
|
|
* wmalik/minor-fixes:
Fix proc_lib doc
Remove commented out code
Fix make_hash description
|
|
When a file was opened with some unicode encoding, file:read_line/1
could return unicode codepoints > 255 in list mode and wrong error
message in bin mode.
Chose to break out 'get_line' functionality from get_chars/5 since
'get_until' handling is different (comes from io module which should
return unicode lists) and seems to have its own (doc?) problems.
|
|
|
|
* raimo/inet_tcp_dist-priority-option/OTP-12476:
Document kernel inet_dist_{listen,connect}_options
Test kernel inet_dist_{listen,connect}_options
Implement kernel inet_dist_{listen,connect}_options
|
|
|
|
* rokob/eliminate-duplication-app-controller:
Add helper function to reduce code duplication
OTP-12524
|
|
|
|
|
|
* raimo/infinite-loop-gethostbyname/OTP-12133:
Remove infinite loop in inet:gethostbyname_tm/4
|
|
|
|
* ethercrow/export_gen_udp_socket:
Export type gen_udp:socket/0
|
|
|
|
An erroneous lookup option is needed to trigger the bug, and that can only
enter the system from a parsed file e.g .inetrc.
Pinpointed by Emil Holmström
|
|
I was going through application_controller.erl looking for why
something was behaving a certain way, saw a comment about removing
this duplicated code one day, and decided to move that a step forward.
|
|
The hipe_bifs:make_native_stub/2 and hipe_bifs:get_emu_address/1
BIFs were originally used by hipe_unified_loader.erl, but the
code been obsolete and disabled for ages.
Remove the BIFs and all references to them.
In hipe_unified_loader.erl, remove the no-op emu_make_stubs/1
function.
|
|
|
|
* nox/standard_error/OTP-12424:
Test standard_error
Properly handle broken input in standard_error
Fix io:getopts(standard_error)
|
|
io:put_chars(standard_error, [oops]) could previously crash the
standard_error process.
Reported-by: Alexei Sholik
|
|
|
|
* lemenkov/use_os_getenv_2:
fix missing include
Start using os:getenv/2 fun
Introduce os:getenv/2
|
|
See #535
Signed-off-by: Peter Lemenkov <[email protected]>
|
|
Signed-off-by: Peter Lemenkov <[email protected]>
|
|
|
|
* raimo/netns-opt-gen_udp/OTP-12314:
Text netns option at socket open
Fix handling netns option in gen_udp
|
|
Signed-off-by: Peter Lemenkov <[email protected]>
|
|
* nox/read_file_info-raw/OTP-12325:
kernel: Do not check unsync:ed file size
Introduce new option 'raw' in file_info functions
|
|
* maint:
kernel: Do not check unsync:ed file size
Introduce new option 'raw' in file_info functions
|
|
* nox/read_file_info-raw/OTP-12325:
kernel: Do not check unsync:ed file size
Introduce new option 'raw' in file_info functions
|
|
Bug found by Yaroslav Maslennikov and Andrei Pampukha.
|
|
* nox/rm-raw_files/OTP-12276:
Remove untested option 'raw_files' from file module
|
|
* 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
|
|
|
|
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
|
|
|
|
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]>
|
|
The standard_error process didn't handle the getopts I/O protocol
request correctly and didn't store its encoding in the same way as
standard_io.
|
|
|
|
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).
|
|
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 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
|