Age | Commit message (Collapse) | Author |
|
The first argument g->max_conn to select() in epmd_srv.c seems to be
wrong as it excludes the listening socket(s). Instead we keep track of
the highest fd seen.
However I still don't understand why select() started to fail for
vxworks with R14B03 when the feature of more than one listening socket
was introduced. The default is still 1 listening socket (num_sockets=1),
which would make the first argument to select() unchanged.
|
|
Conflicts:
erts/vsn.mk
|
|
|
|
* rickard/sbmbc/OTP-9339:
Use separate memory carriers for small blocks
|
|
* sverker/ets_delete-deadlock-race/OTP-9423:
Fix bug in ets:delete for write_concurrency that could lead to deadlock
|
|
* sverker/trace-ms-invalid-op/OTP-9422:
Fix a match-spec trace bug that could cause emulator crash
|
|
* siri/stdlib/count_children_memory-notsup/OTP-9426:
Make sure supervisor_SUITE:count_children_memory is always skipped when erlang:memory is not supported
|
|
* siri/sasl/delete-module-fail/OTP-9417:
Allow appup instruction delete_module module which is not loaded
|
|
|
|
erlang:memory is not supported
Replace the count_children_allocator_test with try erlang:memory in
order to make sure there is no attempt at running this test case if
erlang:memory is not supported.
|
|
A trace matchspec with 'enable_trace' or 'disable_trace' in body could
cause an emulator crash if a concurrent process altered the trace
setting of the traced function by calling erlang:trace_pattern.
The effect was a deallocation of the binary holding the matchspec
program while it was running. Fixed by increasing reference count of
ms-binary in the cases when 'enable_trace' or 'disable_trace' may
cause a system block that may alter the ongoing trace.
The paradox here is that db_prog_match() is using erts_smp_block_system()
to do 'enable_trace' and 'disable_trace' in a safe (atomic) way. But that
also have the (non-atomic) effect that racing thread might block the
system and change the trace settings with erlang:trace_pattern.
|
|
Relocking in ets_delete_1() and remove_named_tab() was done by
unlocking the table without clearing the is_thread_safe flag. A racing
thread could then read-lock the table and then incorrectly
write-unlock the table as db_unlock() looked at is_thread_safe to
determine which kind of lock to unlock.
Several fixes:
1. Make db_unlock() use argument 'kind' instead of is_thread_safe to
determine lock type.
2. Make relock logic use db_lock() and db_unlock() instead of directly
accessing lock primitives.
3. Do ownership transfer earlier in ets_delete_1 to avoid racing owner
process to also start deleting the same table.
|
|
|
|
* hb/stdlib/queue_contracts/OTP-9418:
Modify the contracts of the queue module
|
|
The appup instruction 'delete_module' would cause a crash during
upgrade if the module to be deleted was not loaded. The reason was
that the release_handler tried to read the version number of the old
module after the code path had changed to point to the new version of
the application. Thus, if the module had not been loaded before the
upgrade, there would no longer be any such module in the path
(delete_module indicates that the module is deleted from the new
version of the application).
This is corrected by letting the release_handler read the old version
of the module only if the module is updated - not if it is
removed. And it is always read before the code path is changed.
|
|
* hb/tools/xref_doc_fixes/OTP-9416:
Fix bugs in xref(3)
|
|
* hb/scanner_bug/OTP-9412:
Fix a bug in erl_scan:set_attribute/3
|
|
The contracts of the queue module have been re-written as to avoid
some issues concerning Dialyzer and opaque types.
|
|
|
|
* ia/ssl/session-table-clean-up/OTP-9346:
The clean up of the session table now works as intended.
|
|
In ssl-4.1.5 temporary clean-up processes would crash resulting in
that the session table would not be cleaned up (e.i. using more and
more memory) and error reports would be printed, but connections would
not be affected.
|
|
* siri/sasl/new-app-vsn-path/OTP-9402:
Update code path for all applications that have new versions in a release
|
|
* hb/spec_bug/OTP-9413:
Correct the contract of io_lib:fread/2,3
|
|
Thanks to Matthias Lang.
|
|
* ia/ssl/connect-twice:
Added test case
|
|
* ia/ssl/improved-test-case:
Improved test case so that it will not fail due to last_delay_timer = undefined
|
|
|
|
If a new version of an application did not include any erlang module
changes, the code path of the application was not updasted unless a
'load_object_code' instruction was added for the application. This
would be a problem if e.g. only some files in the priv dir were
changed, since calls to code:lib_dir or code:priv_dir would then point
to the old location of the application. This has been corrected - now
code:replace_path/2 will be called for all applications that are
changed (i.e. when the application's vsn is changed in the .rel file).
|
|
|
|
* siri/reltool/empty-radiobox/OTP-9384:
Do not add an empty radio box on the releases tab for the start_clean release
|
|
* siri/reltool/duplicate-module-crash/OTP-9383:
Offer to set safe configuration if reltool:start fails
|
|
* siri/sasl/compiler-warnings/OTP-9295:
Remove compiler warning for using deprecated module rexexp
|
|
First, the radiobox is changed to a listbox, since this will allow
multiple selections. This is however for future use - for now a
selection will only cause a printout in the erlang shell.
Second, add kernel and stdlib to the list of applications in order to
make the picture complete and avoid an empty list (radio) box for the
start_clean release.
|
|
* egil/ei-fix-buffer-alignment/OTP-9390:
Align ei buffer according to size of pointers
|
|
* ia/ssl/remove-name-from-certifcate-table:
Removed global name from the certificate tabel
|
|
|
|
|
|
We want the certificate table to be handled the same way as the
session table and not have a global name, so that we may easier
create a separate ssl-manager to handle erlang distribution over ssl.
|
|
* ia/ssl/use-erlang-send-after-instead-of-timer-send-after:
Use erlang:send_after instead of timer:send_after
Conflicts:
lib/ssl/test/ssl_session_cache_SUITE.erl
|
|
* ia/ssl/inet-getopts-crash/OTP-9382:
Handle inet:getopts/2 and inet:setopts/2 crashes
|
|
|
|
|
|
Merge branch 'ia/odbc/prepare-for-release' into dev
* ia/odbc/prepare-for-release:
Prepare for release
|
|
|
|
* hs/odbc/sql_wlongvarchar_support:
Rewrote test case so that it works
Add support for SQL_WLONGVARCHAR
|
|
Also save latest delay cleanup timer ref so that we can
use erlang:read_timer to write a more reliable
test case.
|
|
|
|
|
|
* hw/fix-doc-typos:
Fix typos in the epmd documentation
OTP-9387
|
|
* bmk/inets/inets57_integration2:
Fixed non-related test case (ticket_6035).
Corrected appup-file (missing ',').
Fixed ipv6 support detection.
(httpc) test case cleanups.
Uppdated appup-file.
Fixed IPv6 test case selection. That is if a IPv6 test case should be run or not.
Stopping httpc client...
Added test cases for httpd.
Clients started stand-alone not properly handled.
Clients started stand-alone not properly handled.
Temporary solution for profile_name stuff. What about Pids???
SSL with IPv6 now works "in principle".
[httpc] Remove unnecessary usage of iolist_to_binary when processing body (for PUT and POST). Filipe David Manana OTP-9317
Set proper version (5.7).
Set proper version (5.7).
Updated release notes.
Peer/sockname resolv doesn't work with IPv6 addrs in HTTP. OTP-9343
OTP-9342: FTP client doesn't work with IPv6 OTP-9342: IpFamily config option was not handled OTP-9342: Release notes remain... OTP-9342: <credit>attila rajmund nohl</credit>
|