Age | Commit message (Collapse) | Author |
|
tcp-socket as input
|
|
* dgud/wx/quote-atoms-in-specs:
wx: Quote atoms in types and specs
|
|
* dgud/stdlib/relax-proc_lib-initial-call/OTP-13623:
Relax translation of initial calls
|
|
|
|
If the Core Erlang optimization were turned off (using no_copt),
the optimization passes for Beam assembly could generate unsafe
code that did not initialize all Y registers before (for example)
a call instruction.
To fix this, beam_dead should not attempt to remove stores to Y
registers. That is not safe if there is an exception-generating
instruction inside a try...catch block.
|
|
beam_validator wrongly complained that the following was
not safe because it didn't know that is_bitstring/1 is safe:
food(Curriculum) ->
[try
is_bitstring(functions)
catch _ ->
0
end, Curriculum].
While we are it, also add a new bif_SUITE test suite to cover some
more code in beam_validator.
|
|
The raise/3 instruction is specially handled, thus there is no need
for bif_type/3 to handle raise/3 (also, the number of arguments was
incorrect, so it could never have matched).
|
|
The 'is_bitstr' and 'is_function2' tests are pure. The corresponding BIFs
have different names; thus the default call to erl_internal:new_type_test/2
is not sufficient.
|
|
There seems to be a timeing dependent double delete when doing
reference cleanup after wx:destroy(). wxGraphicsObjects can thus not
be free'ed by wx in the cleanup phase. A guess is that the underlying
rendering context deletes all graphics objects without careeing about
wxWidgets reference counting.
|
|
|
|
* kostis/beam_disasm-entry-type/PR-1072:
Declare the type of function entry points
Export label() type
|
|
Listening transports weren't removed, which diameter_reg:subs/0 revealed.
|
|
The transport interface documented in diameter_transport(3) is used to
start/stop accepting/connecting transport processes: they're started
with a function call, and told to die with their parent process. In the
accepting case, both diameter_tcp and diameter_sctp start a listening
process when the first accepting transport is started. However, there's
no way for a listening process to find out that that it should stop
listening when transport configuration is removed.
Both diameter_tcp and diameter_sctp have used a timer to terminate the
listening process after all existing accepting processes have died as a
consequence of transport removal. The problem with this is that nothing
stops a new client from connecting before this, and also that no new
transport can succeed in opening the same listening port (eg.
reconfiguration) until the old listener dies.
This commit solves the problem by adding diameter_reg:subscribe/2, to
allow callers to subscribe to messages about added/removed associations.
A call to diameter:add_transport/2 results in a new child process that
registers a term that a listening process subscribes to. Transport
removal results in the death of the child, and the resulting
notification to the listener causes the latter to close its socket and
terminate.
This is still an internal interface, but the subscription mechanism
should probably be made external (eg. a diameter:subscribe/1 that can
be used to subscribe to specified messages), so that transport modules
other than diameter's own can make use of it. There is no support for
soft upgrade.
|
|
A replacement accepting transport could be started after the service
process received a shutdown message from diameter_config, if a
connection was accepted before the transport process in question was
terminated. The replacement lived on until the service needed to restart
it.
|
|
Letters are cheap.
|
|
To allow processes to subscribe to a message when a matching association
is added or removed. The intention is to use this in
diameter_{tcp,sctp}, in order for listening processes to find out when
transport their transport configuration has been removed.
|
|
Last missed in commit 25bef13f.
|
|
Unused, and in the way for what's to come.
|
|
Unexpected messages don't happen in practice, and no_auto_import is
neither necessery nor difficult to avoid.
|
|
|
|
|
|
In particular, valgrind needs a lot of time for certain tests.
|
|
|
|
|
|
|
|
|
|
This shuts off compiler warnings and will allow to enable stronger
compiler checks files that include beam_disasm.hrl in the hipe
application.
While doing that, also modified a comment in the header file and
turned a case statement into effectively an assertion: there should
not really be any beam files where functions do not have a label as
entry point, right?
|
|
|
|
* egil/et/fix-unmatched_return/OTP-13595:
et: Fix unmatched return warnings
|
|
* egil/runtime_tools/update-lttng-doc:
runtime_tools: Document a lttng usage example
|
|
* ingela/ssl/doc-enhancment/ERL-131:
ssl: Add default values and clarifications
|
|
|
|
|
|
* kennethlakin/beast-mitigation-options/PR-1041/OTP-13629:
ssl: Add BEAST mitigation selection option
|
|
|
|
* rickard/doc-fix:
Minor doc fix
|
|
|
|
* rickard/on_heap-fix/OTP-13366:
Improve message allocation in enif_send()
Fix message queue update on replacement and removal of message
|
|
* rickard/rm-mqd-mixed/OTP-13366:
Remove the 'message_queue_data' option 'mixed'
|
|
* lukas/erts/win-large_binary_port_command/OTP-13628:
erts: Split large binaries into multiple iovec
|
|
On windows the max size of an iov element is long, i.e. 4GB
so in order to write larger binaries to file we split the
binary into smaller 2GB chunks so that the write is possible.
|
|
* lukas/erts/tracing/tracer-move-extra-to-map/OTP-10267:
runtime_tools: Fix erl_tracer testcases
runtime_tools: Fix documentation for dbg:p
erts: Move tracer SecondTraceTerm to Opts map
|
|
* legoscia/erts/epmd-module-option/OTP-13627:
Add tests for -start_epmd and -epmd_module options
Use the -epmd_module flag consistently
Add -start_epmd command line option
|
|
to make it easier to read and construct version checks.
|
|
|
|
Same fix as was done for EVP in f4f588683dce36c447017.
|
|
|
|
|
|
|
|
|