Age | Commit message (Collapse) | Author |
|
If the driver queue is empty, or the user is requesting a 'read'
shutdown, then the shutdown() syscall is performed synchronously, as
per the old version of shutdown/2.
However, if the user is requesting a 'write' or 'read_write' shutdown,
and there is data in the driver queue for the socket, then the
shutdown() syscall is delayed and handled asynchronously when the
driver queue is written out.
This version of shutdown solves a number of issues with the old
version. The two main solutions it offers are:
* It doesn't block when the TCP peer is idle or slow. This is the
expected behaviour when shutdown() is called: the caller needs
to be able to continue reading from the socket, not be prevented
from doing so.
* It doesn't truncate the output. The current version of
gen_tcp:shutdown/2 will truncate any outbound data in the driver
queue after about 10 seconds if the TCP peer is idle of slow. Worse
yet, it doesn't even inform anyone that the data has been
truncated: 'ok' is returned to the caller; and a FIN rather than
an RST is sent to the TCP peer.
For a detailed description of all the problems with the old version
of shutdown, please see the EEP Light that was written to justify
this patch.
|
|
* bjorn/asn1/doc:
asn1_spec: Correct obsolete details about compiler options
Update asn1 documentation
|
|
* richcarl/md5-fixes:
Set module_info md5 for native modules properly
Add module_info entry for native code
Gracefully handle empty md5 field in module_info
Remove 'imports' key from spec of get_module_info()
|
|
|
|
* horvand/filtermap-doc-comma-fix:
Delete superfluous comma from `filtermap' example
|
|
The code explaining the behaviour of `filtermap/2` had a syntax error and wouldn't compile
|
|
The addition of the erl_anno module, OTP-12195, also modified v3_core
so that functions with line number zero are regarded as compiler
generated.
|
|
|
|
* fishcakez/ct_test_dirs:
Fix parsing list of one test directory in ct:run_test/1
|
|
* nox/test_server-lines:
Undocument the line macro in test_server
|
|
* aronisstav/dialyzer-inv-mult:
Fix a bug related to constraints generated for erlang:'*'/2
OTP-12725
|
|
|
|
|
|
|
|
|
|
|
|
* bjorn/stdlib/fix-filename-split/OTP-12716:
Correct filename:split(<<"">>)
|
|
* bjorn/kernel/code-loading:
code: Make load_native_code_for_all_loaded/0 comply to spec
|
|
* nox/compiler/parse_transform-undef/OTP-12723:
Properly report unknown parse transforms
|
|
There is now only one BER back-end, and there is no 'optimize'
option.
|
|
Language cleaned up by the technical writers xsipewe and tmanevik
from Combitech. Proofreading and corrections by Björn Gustavsson.
|
|
* dgud/stdlib/rand/OTP-12586:
stdlib: Document and add normal distributed random value function
stdlib: Add new random functionality/module
|
|
|
|
|
|
|
|
|
|
|
|
* egil/fix-ts_install-hook:
test_server: Fix install_hook
|
|
7309ff4c38325 introduced a mismatch between
load_native_code_for_all_loaded/0 and its spec. We could just delete
spec, but it is cleaner to ensure that the function always returns
'ok'.
Noticed-by: Tuncer Ayaz
|
|
Use the md5 of the native code chunk instead of the Beam code md5.
|
|
|
|
|
|
* ia/ssh/extra-logout:
ssh: Hadle shell that sends two logout messages
|
|
|
|
* sverk/hipe_match_wbin/OTP-12667:
erts: Add debug assertions for match state sanity
hipe: Add test for matching of writable binary
erts,hipe: Optimize away calls to emasculate_binary
erts,hipe: Fix bug in binary matching of writable binary
Conflicts:
erts/emulator/hipe/hipe_bif0.c
|
|
filename:split("") returns [], while filename:split(<<"">>) returns
[<<"/">>].
Since the support in the filename module for binary arguments is
much more recent than support for strings, change
filename:split(<<"">>) so that it returns [].
Noticed-by: KOUCHANG
|
|
Conflicts:
OTP_VERSION
erts/vsn.mk
lib/test_server/src/erl2html2.erl
|
|
|
|
* anders/diameter/17.5.3/OTP-12702:
Fix broken pre-17.4 appup
Update appup for 17.5.3
vsn -> 1.9.1
|
|
* anders/diameter/counters/OTP-12701:
Add counters testcase to 3xxx suite
Fix counting error with unknown application id
Add missing doc wording
|
|
* anders/diameter/result_codes/OTP-12654:
Fix broken traffic testcase
Match harder in traffic suite
Don't confuse Result-Code and Experimental-Result
|
|
* anders/diameter/extra_avp_bit/OTP-12642:
Remove extra avp bit from diameter_avp decode
|
|
* dgud/common_test/netconf-user-caps/OTP-12707:
common_test: Add user capability option to hello
|
|
* peppe/common_test/ct_telnet_wait_for_prompt.maint:
Introduce wait_for_prompt option
|
|
* peppe/common_test/timetrap_line.maint:
Fix problem with line number not always showing in log
|
|
* peppe/common_test/modify_vts.maint:
Get the VTS mode working with private CT version of webtool
Change order of ct_run help sections
Prepare for webtool integration with CT
|
|
* peppe/common_test/longname_problem.maint:
Fix error in ct_logs, not handling long names correctly
|
|
* peppe/test_tools_vsn.maint:
Bump version numbers
|
|
* dgud/common_test/netconf/OTP-12698:
common_test: Recurse when there is more data in netconf
|
|
* raimo/snmp/net_if-port-0-with-fd-option/OTP-12669:
Improve agent fix as in manager
Use port 0 with {fd,Fd}, use snmpm_fd in manager
|