Age | Commit message (Collapse) | Author |
|
Fix httpc timeout for redirects
OTP-14429
|
|
* dgud/erts/revert-default-process-name:
Revert setting default argv0 name
|
|
escript failed to start Erlang systems with spaces in the
absolute path (when absolute path was used).
|
|
Erlang system found in PATH was used even when explicitly pointing out
the escript binary in another Erlang system.
|
|
and base allowed hash deviation on nr of standard deviations
to make it easier to fiddle with the work load.
|
|
* lukas/kernel/ipv6_skip_tc_fixes:
kernel: Skip ipv6 tcs when cpiv6 is disabled
|
|
Return error tuple on unicode normalization functions
|
|
* lukas/kernel/distribution_early_reject/OTP-14426:
kernel: Add early reject of invalid node names
|
|
kernel: inet - fix invalid IPv4-mapped-address examples
|
|
|
|
* lukas/doc/extend-secure-distr-warn/OTP-14425:
otp: Extend secure distribution docs warnings
|
|
Warnings have been added to the relevant documentation
about not using un-secure distributed nodes in exposed
environments.
|
|
* lukas/erts/signal_service_docs/OTP-14186:
kernel: Add doc link from os man page to signal service
|
|
|
|
|
|
|
|
with
auth/0
auth/1
auth/2
ct_auth/0
ct_messages/0
|
|
|
|
|
|
|
|
Changing argv[0] from emu name to progname if ESCRIPT_NAME was not set
caused to many failing scripts, revert that part of the change.
See 86f6a9856
|
|
* lukas/erts/etp-processes-ports-optimization:
erts: Optimize etp-processes and etp-ports
|
|
* sverker/enif_select-testing:
erts: Fix nif_SUITE:monitor_frenzy for threadless
erts: Improve message flush in nif_SUITE
erts: Test monitor resource destructor from thread
|
|
|
|
Pass number of expected messages in order to
wait longer for messages (for slow machines)
while not wasting test time waiting for nothing.
|
|
which is scheduled on non-smp VM.
|
|
compile:forms/1,2 is documented to return:
{ok,ModuleName,BinaryOrCode}
However, if one of the options 'from_core', 'from_asm', or
'from_beam' is given, ModuleName will be returned as [].
A worse problem is that is that if one those options are
combined with the 'native' option, compilation will crash.
Correct compile:forms/1,2 to pick up the module name from
the forms provided (either Core Erlang, Beam assembly code,
or a Beam file).
Reported here: https://bugs.erlang.org/browse/ERL-417
|
|
Make sure to use current epoch as input to send_handshake_flight.
|
|
|
|
Probably since 6153ba7 (OTP R13B04) the httpc timeout setting does not
work for redirects (when autoredirect is true). With this patch a new
timer is started for the new (redirected) requests. This means that a
simple redirected request could return after 2*timeout milliseconds.
This is the first part to fix https://bugs.erlang.org/browse/ERL-420
|
|
#### Why do we need this new feature?
There are cases when a NIF needs to send a message, using `enif_send()`, to a long-lived process with a registered name.
A common use-case is logging, where asynchronous fire-and-forget messages are the norm.
There can also be cases where a yielding or dirty NIF or background thread may request a callback from a service with additional information it needs to complete its operation, yielding or waiting (with suitable timeouts, etc) until its state has been updated through the NIF module's API.
NIFs can only send messages to pids, and the lack of name resolution leaves a complicated dance between separate monitoring processes and the NIF as the only way to keep a NIF informed of the whereabouts of such long-lived processes.
Providing a reliable, built-in facility for NIFs to resolve process (or port) names simplifies these use cases considerably.
#### Risks or uncertain artifacts?
Testing has not exposed any significant risk.
The implementation behaves as expected on regular and dirty scheduler threads as well as non-scheduler threads.
By constraining the `enif_whereis_...()` functions to their minimal scopes and using patterns consistent with related functions, the implementation, testing, and maintenance burden is low.
The API and behavior of existing functions is unchanged.
#### How did you solve it?
While extending `enif_send()` to operate on a pid or an atom (as `erlang:send/2` does) was attractive, it would have entailed changing the type of its `to_pid` parameter and thereby breaking backward compatibility.
The same consideration applies to `enif_port_command()`.
That leaves a choice between 1, 2, or 3 new functions:
1. `enif_whereis()`
2. `enif_whereis_pid()` and `enif_whereis_port()`
3. All of the above.
While option (1), directly mimicking the behavior of `erlang:whereis/1`, is appealing, it poses potential problems if `pid()` or `port()` are subsequently implemented as non-integral types that must be bound to an owning `ErlNifEnv` instance.
Therefore, option (2) has been chosen to use `ErlNifPid`/`ErlNifPort` structures in the API to maintain proper term ownership semantics.
|
|
For some reason doing a gen_udp:open(0, [inet6,{ipv6_v6only,true}])
works on some systems where ipv6 is disabled. So instead we
explicitly require the localhost ip to do the test at which seems
to work better.
ipv6 was disabled in sysctl using the line net.ipv6.conf.all.disable_ipv6=1
when this behaviour was found.
|
|
* hasse/stdlib/linter_check_dialyzer/OTP-14323:
stdlib: Warn for bad type variables of parameterized types
|
|
* hasse/dialyzer/fix_type_variable_bug/OTP-14423:
dialyzer: Warn for bad type variables of parameterized types
mnesia: Correct a type declaration
|
|
As of commit 854ee8b (Erlang/OTP 18) warnings about using '_' as type
variable in parameterized types have not been output.
The code of erl_types:t_var_names() is corrected. The spec is also
corrected (thanks to Kostis for pointing out the bug).
|
|
|
|
Prior to this patch, the normalization functions in the
unicode module would raise a function clause error for
non-utf8 binaries.
This patch changes it so it returns {error, SoFar, Invalid}
as characters_to_binary and characters_to_list does in
the unicode module.
Note string:next_codepoint/1 and string:next_grapheme had
to be changed accordingly and also return an error tuple.
|
|
The linter emits warnings about using '_' as type variable in
parameterized types.
|
|
* raimo/gen_statem-dev:
Fix documentation details
|
|
|
|
* ingela/dtls/windows-econnreset:
ssl: Handle econnreset windows obscurities
|
|
An UDP socket does note have a connection and should
not recive econnreset, however this happens on on some windows versions.
Just ignoring it appears to make things work as expected!
|
|
|
|
|
|
|
|
|
|
In case server-sig-algs names only algorithms unknown to the client, the client will try with the ones it knows
|
|
This reverts commit 4d7ff0a8169141d18335638cf7c6e48d4c18cdf2.
|
|
* ingela/ssl/ECDH_ECDSA/ERL-381/OTP-14421:
ssl: Improve tests
ssl: Add missing algorithm ecdh_ecdsa
|
|
* dgud/observer/fix-bytes:
observer: Fix words to bytes
|