Age | Commit message (Collapse) | Author |
|
|
|
|
|
* hb/kernel/fix_spec_disk_log/OTP-10131:
Correct the type of the disk log header
|
|
Thanks to Niclas Eklund.
|
|
|
|
|
|
|
|
|
|
* bjorn/compiler/eliminate-bottleneck/OTP-10123:
sys_pre_expand: Eliminate bottleneck for modules with many functions
|
|
* rj/fix-eprof-doc:
Fix nonsense of eprof doc
OTP-10121
|
|
* tab/fix-indentation-records-emacs:
Fix indentation of record fields in Emacs
OTP-10120
|
|
* rj/fix-et-doc:
Fix typo in ET doc
OTP-10119
|
|
* ia/ssl/recv-bug/OTP-10118:
ssl: Fix bug in the handling of remote connection closure of {active,false} ssl sockets.
|
|
* rickard/thr-prgr-use/OTP-10116:
Fix faulty use of thread progress in handle_aux_work()
|
|
Use a gb_set instead of an ordset to store the set of defined
functions in the module to avoid quadritic time complexity.
|
|
* ia/ssl/pem-cache-bug:
ssl: Fix pem cache bug
|
|
A general case clause was put before a less general so that the less
general case would never match.
|
|
As an optimization old thread progress data was kept and used in
handle_aux_work() in erl_process.c. This could cause memory to be
deallocated at a later time than intended, which is quite harmless.
This has, however, now been fixed.
|
|
ssl sockets.
|
|
* ia/ssl/bottlenecks/OTP-10113:
ssl: Test case fixes
ssl: Avoid second bottleneck in supervisor
ssl: File handling optimization
ssl: Simpler PEM cache
ssl: Refactored for readability
ssl: Use md5 as file ref id instead of filenames
ssl: Move ets:select bottleneck in server
ssl: Renegotiate updates session id in gen_fsm state
ssl: Use ordered_set in cache
ssl: Move and avoid ets:select bottleneck in client
ssl: Reuse session check optimization
ssl: Avoid supervior bottleneck
|
|
* ia/ssh/missing-reason-in-catch-exit/OTP-10112:
Improved handling of multiple closes
|
|
In some situations, the indentation of record fields in Emacs was
strange. This example below shows how Emacs previously would indent
two similar pieces of code very differently:
some_function_with_a_very_long_name() ->
#'a-long-record-name-like-it-sometimes-is-with-asn.1-records'{
field1=a,
field2=b}.
x() ->
#some_record_name{
field1=a,
field2=b}.
This changes the indentation to be like below for both cases:
some_function() ->
#some_record{
field1=a,
field2=b}.
|
|
|
|
|
|
Do proc_lib:spawn_link instead of proc_lib:start_link as synchronized
init is not used/needed anyway.
|
|
Avoid cach validation with file:file_info/2 as this i too expensive and
causes a bottleneck in the file server. Instead we expose a new API function
ssl:clear_pem_cache/0 to deal with the problem. As we think it will be
of occasional use and the normal case is that the cache will be valid we think
it is the right thing to do.
Convert file paths to binary representation in the ssl API module to
avoid uncessarry calls in file later on.
Also add sanity checks for openssl versions in testsuite due to new
openssl bugs.
|
|
* lukas/otp/install_with_whitespace/OTP-10107:
Update to work with space in include path
Update to work with whitespace in exec path
|
|
OTP-10109
|
|
|
|
Instance of state variable that are "updated" in a function is called
for example State0 and the last instance, that should be returned, is
called State possible intermidiat versions are suffixed by increasing
numbers. State0 may be rturned in error cases.
Avoid nesting case statments.
|
|
Aviods storing a lot of data
|
|
Only use ssl_manager for selecting new ids to guarantee uniqueness,
but reuse check does not need to be performed by the manager.
|
|
The session id keept in the connection processes state must be updated to be
the id selected by ssl_handshake:client_hello, failing to do so will
cause a crash if the session is not reused.
|
|
So we can use partial bound keys for matching
|
|
Do not use ssl_manager process for selecting an id. It's unnecessary
to involve the manager process at all on the client side.
|
|
|
|
This is done by using proc_lib and gen_fsm:enter_loop
so that supervisor will not have to wait for the relative long initialization
of an ssl connection process before starting another connection process.
|
|
* kenneth/asn1/multiple_extaddgroup/OTP-10058:
Add support for multiple ExtensionAdditionGroups
|
|
|
|
OTP-10106
OTP-10107
|
|
* bjorn/remove-hybrid-heap/OTP-10105:
Remove stale code for hybrid heap and incremental GC
Remove the hipe_bifs:show_message_area/0 BIF
Remove support for erlang:system_info(global_heaps_size)
Remove the erlang:garbage_collect_message_area/0 BIF
Remove workarounds for hybrid and shared heaps in test suites
|
|
* hb/dialyzer/solver_fix/OTP-10082:
Bug fixes and improvements of dialyzer_typesig
|
|
exit:{normal} -> exit:{normal, _} this typo could sometimes cause a crash
when trying to close a channel that was already closed.
|
|
1. Sometimes the solver forgot that a list had entered the error
state. The bug has been fixed by storing the atom 'error' in
MapDict. An example where the bug occurred is
io_lib_pretty:printable_bin(). The returned spec was weaker than it
should have been, but the fix-point loop hid the bug (in this case).
2. lists:partition() has been substituted for lists:splitwith() in
enumerate_constraints(). This fix together with 3. solves a
problem with long execution times for deeply nested fun:s. An
example which is now much faster is
lib/compiler/test/lc_SUITE:deeply_nested/1
(included as dialyzer/test/small_SUITE_data/src/deep_lc.erl).
3. The calculation of components in enumerate_constraints() has been
simplified and optimized. The important thing here is that _all_ of
the simple constraints have been saturated before entering the
complex part.
4. The pretty printing of constraints has been improved.
|
|
* raimo/erts/win-install-redist-mixup/OTP-10096:
erts: Make 64-bit installer look for MS Redistributable in the right places
|
|
* lukas/stdlib/ensure_dir_infinite_loop/OTP-10104:
Fix infinite loop when an invalid drive letter it given
|
|
* lukas/test-cases:
Ignore calls to wx* modules if it is undefined
Fix erl_interface testcases
Update gccifier to respect -link option
Extand timetrap for escript tests
Fix compilation issues on windows and Ubuntu 12.04
Ignore common_test bootstrap
|
|
|
|
* sa/dialyzer-parallel: (54 commits)
Logfile-like statistics (enabled with --resources)
Anonymous SCCtoPID ETS table
Anonymous time server
Regulate all kinds of running workers up to the number of schedulers
Relocate start and stop of timing server
Better names for callgaph ETS tables
Remove needless conversion
Fix types and specs
Inline a function in dialyzer_worker
Remove unused function
Change --time to --statistics and include more info
Better reflect side-effect based code in dialyzer_callgraph
Code simplifications (tidier)
More efficient calculation of module deps and postorder
Solve big SCC constraints in parallel
Coordinator is no longer a separate process
All spawns are now spawn_links
Fix race in coordinator
Typesig and dataflow analyses no longer use ticket regulation
Plain concatenation for typesig not-fixpoint list
...
OTP-10103
|
|
* gustav/compile/docs-file-macro-option2:
Add type info for compile:file/1,2 macro option
|