Age | Commit message (Collapse) | Author |
|
|
|
|
|
* ia/ssl/test-case-maint:
Test cases where failing due to timing issues in test case code
|
|
Have to figure out how to represent progress in header writing when
using non-blocking, not sure how to do this.
|
|
This is needed because aync job will not call free_sendfile
if there is an async_ready callback.
|
|
|
|
Tests for when a gen_tcp:send/recv is ordered while a
sendfile is in progress.
|
|
|
|
This is needed because otherwise there could be scenarios
when the efile driver blocks a fd and then crashes without
the inet driver ever finding out. Now when the process
crashes the port will close and we can cleanup in the inet
driver.
|
|
Because the sending process has to be the controlling process
of the tcp socket used to send data it is not possible to use
the file_server
|
|
It is not possible to use the maximum size_t/off_t for the chunks
as that causes sendfile to return einval. 3GB seems to work on all
*nix platforms.
|
|
|
|
|
|
|
|
|
|
Ignore fd is a feature used by sendfile to temporarily remove
all driver_select calls on that fd so that another driver can
select on it. It also delays all actions which sends or receives
data in that fd until in the fd is no longer ignored.
Only the controlling_process should use the feature as it is otherwise
possible that the ignore will never be cleaned up and hence create
a memory leak in the driver.
An ignored driver will not detect that an fd has been closed until
it is unignored.
|
|
|
|
|
|
|
|
|
|
When there are no async threads sendfile will use the
ready_output select on the socket fd to know when to send
data.
The file_desc will also be put in the sending sendfile_state
which buffers all other commands to that file until the
sendfile is done.
|
|
Move sendfile data to invoke data instead of file_descr.
Remove usage of ready_output when doing a send.
If told to send 0 bytes, file_sendfile now sends the entire file
for linux.
|
|
outputv will always be used so removed output to decrease
confusion.
|
|
Move the command handling to outputv in preparation for
header and trailer inclusion in the sendfile api.
Use the standard efile communication functions for sendfile.
|
|
Created erlang fallback for sendfile in gen_tcp and
moved sendfile from file to gen_tcp. Also created testcases
for testing all different options to sendfile.
For info about how sendfile should work see the BSD man pages
as they contain a more complete API than other *nixes.
|
|
|
|
|
|
|
|
|
|
Conflicts:
lib/snmp/src/agent/snmpa_set_lib.erl
lib/snmp/src/app/snmp.appup.src
lib/snmp/src/compile/snmpc.src
lib/snmp/vsn.mk
|
|
* bjorn/dialyzer-warnings:
erlang: Eliminate a clause in aa_mem_data/2 that can never match
Add type info for erlang:system_info({allocator_sizes,ref(),any()})
|
|
* rickard/deprecate-runtime-binding/OTP-9749:
Deprecate erlang:system_flag/2 arguments scheduler_bind_type and cpu_topology
|
|
* rickard/rm-common-runq/OTP-9727:
Remove common run-queue in SMP case
Fix scheduler suspend bug
Conflicts:
erts/emulator/beam/erl_init.c
|
|
The use of erlang:system_flag(scheduler_bind_type, _) and
erlang:system_flag(cpu_topology, _) have been deprecated and scheduled
for removal in erts-5.10/OTP-R16. For more information see the
documentation of erlang:system_flag/2.
|
|
User defined data types in function headers turned off bold face.
|
|
The common run-queue implementation is removed since it is unused,
untested, undocumented, unsupported, and only complicates the code.
A spinlock used by the run-queue management sometimes got heavily
contended. This code has now been rewritten, and the spinlock
has been removed.
|
|
Calls to erlang:system_flag(schedulers_online, N) and/or
erlang:system_flag(multi_scheduling, block|unblock) could cause
internal data used by this functionality to get into an inconsistent
state. When this happened various problems occurred. This bug was
quite hard to trigger, so hopefully no-one has been effected by it.
|
|
* hb/fix_qlc_test/OTP-9757:
Remove dependency on R12 from a qlc test case
|
|
|
|
The new file lib/stdlib/test/qlc_SUITE_data/join_info_compat.erl was
created on an R12B node.
|
|
* sa/dialyzer-fixes-r15:
Update inets test results
Add file/line info in a particular Dialyzer crash
Fix Dialyzer's warnings in HiPE
Fix Dialyzer's warning for its own code
Fix crash in Typer
No warnings for underspecs with remote types
OTP-9758
|
|
aa_mem_data/2 is only called by aa_mem_data/1 and itself.
aa_mem_data/1 called with the argument 'notsup' will never
call aa_mem_data/2. aa_mem_data/2 will only call itself with
a #memory{} record as the first argument. QED.
Noticed-by: Dialyzer.
|
|
|
|
|
|
|
|
Mark math:pi/0 as pure, informing the compiler that the value
can be calculated at compile time.
|
|
|
|
|
|
|
|
|