Age | Commit message (Collapse) | Author |
|
The wording of warnings about unsatisfiable guards that used
'not' was incorrect (the 'not' was not mentioned and it appeared
as "Guard test is_atom(atom()) can never succeed").
|
|
Apart from the obvious bug in the negative evaluation of an 'and'
guard, Dialyzer handled dont_know cases rather single-mindedly
towards the positive branch. This patch allows for negative results
as well and does some clever guesses to narrow them down. It was
constructed similarly to the handling of the 'not' guard.
|
|
|
|
* pan/fortify-source-gcc-4.5:
Remove strange name field in efile_drv.c as it upsets -D_FORTIFY_SOURCE
OTP-9025
|
|
* sv/epmd-check-listen:
Remove special treatment of EADDRINUSE
check return value of epmd server listen() call
OTP-9024
|
|
|
|
|
|
The listen() call can fail due to a variety of conditions, so check
its return value and if it fails, print a suitable debug message if
appropriate and then exit. The exit values used are the same for those
already used for bind() failures: 0 if the error is EADDRINUSE, 1
otherwise.
|
|
* ia/ssl/doc-spec-discrepancy:
Fixed Dialyzer specs
|
|
* td/base64-mime-decoding:
Improve pad character handling in base64 MIME decoding functions
OTP-9020
|
|
-------------------------------------------------------------------------
ssl's published documentation states:
ssl_accept(ListenSocket) ->
ssl_accept(ListenSocket, Timeout) -> ok | {error, Reason}
(see http://www.erlang.org/doc/man/ssl.html#ssl_accept-1)
while its code has the specs:
-spec ssl_accept(#sslsocket{}) -> {ok, #sslsocket{}} | {error, reason()}.
-spec ssl_accept(#sslsocket{}, list() | timeout()) -> {ok, #sslsocket{}} | {error, reason()}.
One of the two cannot be right. This should be fixed.
Moreover, I do not see why the spec just mentions list() for the options when the documentation explicitly mentions the options of ssl.
Kostis
---------------------------------------------------------------------
|
|
* vb/ei-exts:
Fix testcases erl_global_whereis, erl_global_names
Fix wrong erl_compare_ext result comparing lists
Correct erl_global{register, unregister} functions
Add PID (~p) type parameters to ei_format
Add char (~c) type parameters to ei_format
OTP-9015
Conflicts:
lib/erl_interface/include/ei.h
|
|
Enable erl_global_whereis and erl_global names.
|
|
* ao/percept-web-stop-rebased:
Verifies the consistency of stopping behavior.
Fixes a bug found in percept:stop_webserver/1, where it doesn't stop the webserver completely
OTP-9012
|
|
Updated the test case webserver to cover both stopping functions stop_webserver/1 and stop_webserver/0.
|
|
webserver completely
percept:stop_webserver/1 will only stop the httpd service in inets, but not the percept_httpd process. As a result, when trying to start the webserver again it will return {error, already_started}. Test case was updated to simulate this case and fix is included to stop the webserver in a consistent way wether stop_webserver/0 or stop_webserver/1 was used.
|
|
* ao/percept-race-cond:
Fixes a race condition found in percept_db start/1 function.
OTP-9012
|
|
Conflicts:
lib/stdlib/vsn.mk
|
|
* pan/r14b01-dialyzer-type-corrections:
Correct type specs in io
|
|
* egil/timer-wheel-min-time/OTP-8990:
Teach timer-wheel slots to use double linked lists
Remove timer-thread implementation
Refactor timer interface
Teach timer-wheel to keep min time
|
|
Conflicts:
erts/emulator/beam/erl_time.h
|
|
|
|
* pan/r14b01-dialyzer-patch/OTP-9008:
Correct type specs in io
Remove dead code (and dialyzer errors) from filename and re
Set types correctly for open_port({spawn_executable, ...
Fix native code compiler infinite loop and update type info for 're'
|
|
|
|
|
|
|
|
The introduction of filenames being unicode binaries revealed a problem
in the type analysis of the native code compiler which resulted in an
infinite loop when compiling the 'filename' module.
In addition, the hard-coded type information for the built-in functions
of the 're' module was out-of-date, which resulted in erroneous type
information for 'filelib' functions being stored in the PLT.
|
|
|
|
|
|
|
|
* pan/r14b01-dialyzer-type-corrections:
Remove faulty change left by mistake in epp
OTP-9008
|
|
|
|
* pan/r14b01-dialyzer-type-corrections:
Removed dead code
Remove dead code (and dialyzer errors) from filename and re
Set types correctly for open_port({spawn_executable, ...
OTP-9008
|
|
* bjorn/compiler/export-type/OTP-8998:
compiler: Don't include -export_type as attributes in BEAM files
|
|
Similar to -spec and -type, -export_type should be not be included
as attributes (and therefore loaded) in BEAM files, but only in
the abstract code chunk.
|
|
* bjorn/bs-zero-width-bug/OTP-8997:
Fix type-checking of variable used in zero-width bit syntax construction
|
|
<<A:0>> will always produce an empty binary, regardless of the
type of A. The bug is in the run-time system. Fix it so that a
non-numeric value for A will cause a badarg exception.
Reported-by: Zvi
|
|
|
|
|
|
|
|
|
|
Increases the speed of the timer-wheel
|
|
* pan/unicode-filenames/testcase-correction:
Make file_name_SUITE:very_icky work on Windows
OTP-8887
|
|
* pan/r14b01-file-driver-fix:
Correct usage of pointer-to-size in unix_efile
|
|
* ks/r14b01-hipe-fix:
Fix native code compiler infinite loop and update type info for 're'
OTP-9008
|
|
Dialyzer had a minor issue when the arguments of the built-in function
'or' had the fixed value 'false'.
This testcase should return no warnings:
-module(false_false).
-export([false_or/0]).
false_or() ->
false or false.
|
|
* pan/bad-dist-msg/OTP-8993:
Remove ancient distribution message DOP_NODE_LINK from all code
Teach VM not to dump core on bad dist message structure
|
|
* pan/werl-scrollwheel/OTP-8985:
Teach win_con.c about scroll wheels
|
|
|
|
|