Age | Commit message (Collapse) | Author |
|
|
|
In particular, remove timing dependence by using diameter_reg:wait/1 to
wait on the term registered by diameter_{tcp,sctp} when opening a
listening socket.
|
|
Note that the semantics of client:connect/1 have changed slightly: the
second element in an argument 3-tuple is a remote address, the local
address being the transport module's default. Previously it was
interpreted as a common local/remote address.
|
|
Use the default address address (as selected by gen_tcp) if none is
configured, passing it in the new 'connected' message introduced by the
previous commit.
The corresponding update to diameter_sctp has to wait until problems
with inet:sockname/1 are resolved: the function currently only returns
one address, and sometimes {0,0,0,0}. See OTP-11018.
|
|
A transport module can return a local address list from its start/3
function in order to specify addresses to be used as Host-IP-Address
during capabilities exchange. Now allow addresses to be communicated in
a 'connected' message in the case of a connecting transport, so that
diameter_tcp (in particular) can make local address configuration
optional, communicating the gen_tcp default after connection
establishment instead.
|
|
The file module communicates with a file io server with the following
protocol for file operations:
> {file_request,From,ReplyAs,Request}
< {file_reply,ReplyAs,Reply}
The ReplyAs value is sent by the client side to match against when
receiving the reply and is otherwise left untouched and passed as is by
the server.
This commit enables receive optimizations by using the reference of the
server monitor, changing the protocol to:
> {file_request,From,MonitorRef,Request}
< {file_reply,MonitorRef,Reply}
As the shape of the messages is not changed, backwards compatibility is
not a concern.
|
|
* sverk/dets_remove_test_otp_9607:
stdlib: Fix unstable testcase ets_SUITE:delete_large_named_table
stdlib: Remove obsolete testcase dets_SUITE:otp_9607
|
|
|
|
* ks/hipe-cleanup-escaping/OTP-11031:
Loosen the assumptions of code that handles escaping functions
|
|
|
|
* mar/cover-fix/OTP-11028:
Delete ets tables when stopped
fix a race condition when there're several applications in apps directory
|
|
|
|
* sa/dialyzer-bitstring-fixes/OTP-11027:
Minor refactorings
Fix minor error in natively compiled module list
Fix notification for duplicate modules
Fix an error in the type inference of bitstring data
|
|
A service process maintains a table keyed on watchdog process pids. When
a watchdog process dies the corresponding entry should be removed but
this was broken in commit f115a9f7, causing entries with watchdog state
DOWN to accumulate.
Watchdog processes die as a result of diameter:remove_transport/2, or
when a peer reestablishes a connection in the listening case. Neither is
typically a frequent occurrence.
The fault manifests itself in the return value of
diameter:service_info(SvcName, transport), which displays entries for
watchdog processes that are no longer alive.
|
|
|
|
* siri/common_test/unexpected_io/OTP-10494:
[common_test] Add test for unexpected I/O
[common_test] Send unexpected logging to test_server's unexpected_io.log
[test_server] Add test_server_io:print_unexpected/1
|
|
|
|
|
|
* fredrik/stdlib/fix_broken_link:
Fixed broken links in sys.html
|
|
|
|
* anders/diameter/service_config/OTP-11017:
Fix handling of unknown options to diameter:start_service/2
|
|
* anders/diameter/release_notes/OTP-11014:
Fix faulty capitalization in generated release notes
|
|
|
|
* fredrik/ssh/ssh_daemon_pass_arg/OTP-10975:
ssh: If not valid expression, rather than generate a error, try to use the cmd.
|
|
|
|
* siri/cuddle-with-tests:
[reltool] Clean up work dir after test
[observer] Add debug printouts in ttb_SUITE
|
|
|
|
If it could not be decided which test case a certain log printout
belonged to, the common test framework log was earlier used. Such
printouts are now instead sent to unexpected_io.log in test_server so
that there is only one place to look for "missing" printouts.
|
|
To use from any process to print a string in the unexpected_io.log.
|
|
|
|
Even though dialyzer_typesig is the module doing most of the work, compiling it
to native code twice will not make it faster than the rest. :-)
|
|
Dialyzer fails when asked to analyze multiple modules with the same name, but
the error message was erroneous. With this patch Dialyzer generates a correct
error message.
Bug reported and patch submitted by Maxim Treskin.
|
|
Dialyzer was constraining bitstring data used in the construction of other
bitstring values too much. These constraints have now been relaxed.
|
|
* maint:
Remove unused Postscript files
|
|
|
|
|
|
* ia/ssl/crypto/PSK-SRP/doc:
ssl & crypto: Documentation enhancements
|
|
Diameter = the protocol
diameter = the Erlang application
|
|
{error, Reason} is now returned, instead of the options being ignored.
Note that diameter:add_transport/2 purposely ignores unknown options and
that the behaviour is documented. This is historic: some users depend on
it in order to store their own options for identifying transport config,
instead of using the reference returned by add_transport.
|
|
|
|
|
|
OTP-10450
|
|
|
|
|
|
* siri/test_server/hanging-io-request/OTP-10991:
[test_server] Don't hang due to invalid io request
|
|
* siri/common_test/force_stop-skip_rest/OTP-10856:
[common_test] Document '-force_stop skip_rest' option to ct_run
[common_test] Add tests for repeated testruns
[common_test] Add support for testing repeated testruns
[common_test] Add -force_stop skip_rest option when repeating tests
|
|
|
|
* sv/stdlib/sys-get-state/OTP-11013:
Removed ?line macro
add sys:get_state/1,2 and sys:replace_state/2,3
update sys:get_status/2,3 documentation for gen_event
|
|
In rest_for_one and one_for_all supervisors one child dying can cause
multiple children to be restarted. Previously if the child that caused
the restart is started successfully but another child fails to start,
the supervisor would not terminate this child with the other
successfully restarted children as no record of the pid was kept. Thus
the supervisor would try to start this child again. This could lead to
multiples of the same child or if the child is registered cause repeated
attempts at starting this child - until the max restart threshold was
reached.
Now the child that failed to start becomes the restarting child, instead
of staying with the same child, for the next restart attempt. This has
the following side effects:
1) In one_for_all the new version of the child that original died is
terminated before a restart attempt is made.
2) In rest_for_one all succesfully restarted children are not terminated
and restarting continues from the child that failed to start.
|
|
|