Age | Commit message (Collapse) | Author |
|
Break out the code to a separate function to make it more readable.
Also avoid hard-coding the name of the value to use as "Val1" as
it may not be true in the future.
Instead of using a list comprenhension like this:
case [X || X <- [element(5, Val),element(6, Val)],
X =/= asn1_NOVALUE] of
[] -> ...;
_ -> ...
end
use an orelse chain:
case element(5, Val) =/= asn1_NOVALUE orelse
element(5, Val) =/= asn1_NOVALUE of
false -> ...;
true -> ...
end
|
|
To facilitate optimizing PER encoding using an intermediate
format, we must change asn1rtt_real_common:encode_real/1 so that
it only returns the encoded binary.
|
|
|
|
Private keys generated by modern versions of ssh-keygen are ciphered
with AES-128-CBC instead of DES-EDE3-CBC.
Since DES-EDE3-CBC ciphered keys are handled, and the underlying
support for AES-128-CBC is already present, it seems a bug of omission
that AES-128-CBC ciphered keys are not.
|
|
For applications where measurements show enhanced performance from the use
of a non-default number of emulator scheduler threads, having to accurately
set the right number of scheduler threads across multiple hosts each with
different numbers of logical processors is difficult because the erl +S
option requires absolute numbers of scheduler threads and scheduler threads
online to be specified.
To address this issue, add a +SP option to erl, similar to the existing +S
option but allowing the number of scheduler threads and scheduler threads
online to be set as percentages of logical processors configured and
logical processors available, respectively. For example, "+SP 50:25" sets
the number of scheduler threads to 50% of the logical processors
configured, and the number of scheduler threads online to 25% of the
logical processors available. The +SP option also interacts with any
settings specified with the +S option, such that the combination of options
"+S 4:4 +SP 50:50" (in either order) results in 2 scheduler threads and 2
scheduler threads online.
Add documentation for the +SP option.
Add tests for the +SP option to scheduler_SUITE.
Add tests and documentation for two existing features of the +S option: +S
0:0 resets the scheduler thread count and scheduler threads online count to
their defaults, and specifying negative numbers for +S results in those
values being subtracted from the default values for the host.
|
|
|
|
|
|
|
|
* essen/export-zlib-zstream/OTP-11278:
Updated preloaded
Export type zlib:zstream/0
|
|
* dgud/wx/update-doxygen/OTP-11279:
wx: Add toolbar testcase
wx: Add character event test/example
wx: Add wxPanel:setFocusIgnoringChildren/1
wx: Add wxClipboardTextEvent
wx: Fix bug in wxStatusBar:getFieldRect/2
wx: Fix api generator
|
|
* dgud/mnesia/checkpoint-init/OTP-10957:
mnesia: Checkpoint fix
mnesia: Improve checkpoint activation
mnesia: Improve checkpoint tests
mnesia: Cleanup and remove obsolete code
|
|
Avoid hanging waiting for other processes on other node
to commit.
|
|
Fixed a race where some parts of a transaction could
be added to the checkpoint.
There are probably more races here but this improves the current
testcases.
|
|
|
|
We don't support communicating with such old nodes anyway.
|
|
|
|
|
|
|
|
|
|
* ia/ssl/concurrerr/OTP-11255:
ssl: Make the ssl manager name for erlang distribution over SSL/TLS relative to the module name of the ssl_manager.
|
|
relative to the module name of the ssl_manager.
This can be beneficial when making tools that rename modules for internal
processing in the tool.
|
|
* tab/tramp_emacs_erl/OTP-11270:
tools: In Emacs it is possible to remotely edit a file, by opening for example /ssh:somehost.com:/path/to/file.erl. In Emacs, the feature that makes this possible, is called TRAMP. When compiling such a file, by typing C-c C-k, an inferior Erlang shell is opened on the remote host, but the compilation expression that was evaluated in the remote Erlang shell was:
|
|
* fredrik/ssl/log_alert_doc/OTP-11271:
ssl: documentation regarding log_alert
|
|
* hb/parsetools/fix_yecc_bug/OTP-11269:
Fix a Yecc bug
|
|
A bug causing Yecc to generate badly formed parsers when encountering
very simple recursive rules has been fixed.
Thanks to Eric Pailleau for reporting the bug.
|
|
The first clause of gen_enc_line() allows us to pass in [] as
the value for Element; if we modify the only caller that passes
[] to pass an actual expression we can remove the first clause.
Furthermore, since the Pos argument was only used by the first
clause, we can remove the Pos argument.
We can also remove the first clause in gen_enc_component_optional(),
since the code in its body is exactly the same as in the following
clause.
|
|
An field in a class that references an object or object set is not
allowed to be referenced directly from within a SEQUENCE.
|
|
|
|
When reporting a field redefinition in a record, erl_lint can forget
about some old unused variables.
f() -> X = 1, #r{a=foo,a=bar,a=qux}.
|
|
Variables used in the body of a try expression were marked as unsafe
*and* used, which makes no sense as an unsafe variable can't be used.
Function vtsubtract/2 is used to forget usage of such unsafe variables.
Reported-by: Paul Davis
|
|
When analyzing complex expressions (i.e. comprehensions, cases, tries,
ifs and receives), erl_lint does not forget about old unused variables
when returning the updated variable table. This causes a bug where old
unused variables are not recorded as such:
t(X, Y) ->
#r{a=[ K || K <- Y ],b=[ K || K <- Y ]}.
As erl_lint uses vtmerge_pat/2 to merge the results of the analysis of
the two list comprehensions, X is marked as used and the warning is not
emitted.
The function vtmerge_pat/2 is used instead of the similar vtmerge/2
which does not mark multiple occurrences of a variable as usage to
handle cases like the following one:
t(X, Y) ->
#r{a=A=X,b=A=Y}.
Other simpler expressions like conses, tuples and external fun
references do not correctly follow this behaviour, e.g. A is not marked
as used in the following code:
t(X, Y) ->
{A=X,A=Y}.
This commit fixes both issues and makes erl_lint not return old unused
variables in updated tables and makes all compound expressions use
vtmerge_pat/2.
Reported-by: Anders Ramsell
|
|
|
|
OTP-11238
|
|
begin_port_cleanup can be called from a non-scheduler thread, this
means that there is no esdp available and thus erts_schedule_thr_prgr_later_op
segfaults.
|
|
|
|
|
|
In Emacs it is possible to remotely edit a file, by opening for
example /ssh:somehost.com:/path/to/file.erl. In Emacs, the feature
that makes this possible, is called TRAMP. When compiling such a file,
by typing C-c C-k, an inferior Erlang shell is opened on the remote
host, but the compilation expression that was evaluated in the remote
Erlang shell was:
c("/ssh:somehost.com:/path/to/file", [...]).
which resulted in a "no such file or directory" error.
This commit changes the compilation expression into:
c("/path/to/file", [...]).
for files opened remotely via TRAMP. The file name is adjusted
similarly when compiling .yrl and .xrl files.
In a buffer opened remotely, the Elisp function buffer-file-name
returns the full path with TRAMP syntax. In this example it would
be "/ssh:somehost.com:/path/to/file.erl". A new function,
erlang-local-buffer-file-name, has been introduced, which peels off
the TRAMP syntax on remotely opened files, while for locally opened
files, it just calls buffer-file-name.
|
|
Using a list comprehension will simplify both the code generator
and the generated code. Also, if there is an ObjFun argument in
the host function, the BEAM compiler will make sure it is only
passed to the generated list comprehension function if it is
actually used.
|
|
Break out the the rules for determining whether a string should
be in aligned so that it can be reused for encoding.
|
|
* nox/match-context-return/OTP-11247:
Added primary bootstrap
Forbid returning a match context in beam_validator
|
|
* sze/edlin_understand_keys/OTP-11251:
Added primary bootstrap
erts: fixed documentation regarding tty and arrow keys
make edlin understand a few important control keys
|
|
* alexrp/export_edge/OTP-11266:
Export the edge/0 type from the digraph module
|
|
* epa/add_fd_usage_in_rb/OTP-11252:
kernel: sasl: fixed rb.xml docs
Add Fd usage in rb logging
|
|
* pan/bad_async_thread_distribution/OTP-11243:
Create better distribution of files over async threads
Initialize errno properly in win32 efile_may_openfile
Add debug functionality to retrieve async key
OTP-11243
OTP-11265
|
|
The actual port id is used to create a key from the
pointer value which is the ErlDrvPort. To do this
a new driver api function driver_async_port_key is
added and the driver API minor version is updated.
The documentation is updated and the faulty description of
how to spread ports over async threads is updated to
use the new API.
Testcase also added.
|
|
|
|
|
|
|
|
Conflicts:
lib/inets/doc/src/notes.xml
lib/inets/src/http_lib/http_transport.erl
lib/inets/src/inets_app/inets.appup.src
lib/inets/vsn.mk
lib/ssl/doc/src/notes.xml
lib/ssl/src/ssl.appup.src
lib/ssl/src/ssl.erl
lib/ssl/src/ssl_internal.hrl
lib/ssl/src/tls_connection.erl
lib/ssl/vsn.mk
|
|
by only letting it run on one core. Valgrind only let one thread
at a time execute anyway.
|