Age | Commit message (Collapse) | Author |
|
|
|
Add case to handle the situation when someone call
{gen_tcp,gen_udp}:controlling_process(Port, self()). Also improve spec
and doc from gen_udp and gen_sctp for controlling_process/2.
To reproduce the issue, open an UDP port:
4> {ok,Port} = gen_udp:open(9000, [binary]).
{ok,#Port<0.587>}
5> gen_udp:controlling_process(Port, self()).
ok
Simulate error:
6> 1=2.
** exception error: no match of right hand side value 2
Here is the leak:
7> inet:i().
Port Module Recv Sent Owner Local Address Foreign Address State
Type
581 inet_udp 0 0 <0.31.0> *:cslistener *:* BOUND
DGRAM
ok
|
|
|
|
* dgud/mnesia/table-locks/OTP-9890:
[Mnesia] More optimizations
[Mnesia] Optimize double ets_lookups
[Mnesia] Optimize for lookup instead of match_object
[Mnesia] First try with ordered_set instead of bag
|
|
* rj/spaces-xmerl-doc:
Add missing spaces in xmerl doc
OTP-9873
|
|
If a transaction releases a write, it can be deleted directly since no read locks
or other write locks can be present
|
|
|
|
5% faster on tpcb
|
|
Switch to ordered_set so match_object matches partially bound keys,
more efficient.
|
|
* dgud/observer/bug-fixes/OTP-9878:
[observer] Fixed refresh interval for table viewer
[observer] Improved term formatting in table viewer
[observer] Fixed regexp error handling
[observer] Fix refresh dead process crash
[observer] Fix bugs in edit table object
[observer] Fix index reporting bug
|
|
|
|
* lukas/kernel/os_mon_in_file_SUITE/OTP-9889:
Use os_mon to get system information
|
|
|
|
|
|
* bjorn/compiler/bif-call-bug/OTP-9866:
erl_lint: Disallow call to is_record/3 if there is a local is_record/3
Ensure that generated record operations don't call local functions
|
|
Attempting to call is_record/3 (without an erlang: prefix) from a
guard if there was a local function named is_record/3 would cause
a compiler crash. For consistency with other guard tests, disallow
the call.
is_record/2 in a guard will still be allowed (and work correctly)
even if there is a local is_record/2. It could be argued that
is_record/2 should be handled in the same way as is_record/3,
but changing that now could break working code.
|
|
Compiling the same source code with the same options may not produce
the same BEAM file because the compilation time is included in the
"CInf" chunk.
|
|
Conflicts:
lib/snmp/doc/src/notes.xml
lib/snmp/doc/src/notes_history.xml
|
|
* bjorn/compiler/get-in-try/OTP-9867:
compiler: Correct live calculation when get/1 is used in try...catch
|
|
* lukas/os_mon/work_in_source_tree/OTP-9883:
Look for port in priv/bin/arch/ as well as priv/bin/
|
|
* bjorn/kernel/on_load-bug/OTP-9875:
Fix on_load handling in modules loaded by code:load_binary/3
|
|
|
|
* raimo/parallel-make/OTP-9857:
hipe: Fix rtl dependencies
erts: Simplify toplevel makefile due to better dependencies
erts: Fix make omissions for void emulators
erts: Fix dependencies between targets generate and depend
erts: Cleanup dependencies for target generate
erts,tools: Fix parallel make for erts/lib_src
erts: Fix parallel make for emulator zlib
Conflicts:
erts/emulator/Makefile.in
|
|
Consistently use external (remote) calls to the BIFs element/2,
setelement/3, and is_record/3.
|
|
Format strings as string not integer lists
|
|
|
|
Merge from R13B maintenance branch (snmp-4.17.3),
fixed appup and source diff (there is some between
snmp-4.17.3 and 4.21.6).
Merge branch 'maint-r13' into bmk/snmp/snmp4216_integration/r14
Conflicts:
lib/snmp/doc/src/notes.xml
lib/snmp/src/agent/snmpa.erl
lib/snmp/src/agent/snmpa_agent.erl
lib/snmp/src/agent/snmpa_trap.erl
lib/snmp/src/app/snmp.appup.src
lib/snmp/test/snmp_agent_test.erl
lib/snmp/vsn.mk
|
|
|
|
* hb/kernel/correct_contracts/OTP-9874:
Correct two contracts in gen_sctp.erl
|
|
|
|
In "13.4 Running a function when a module is loaded" in the
Reference Manual, it is said that:
A process that calls any function in a module whose on_load
function has not yet returned will be suspended until the
on_load function has returned.
That did not work if the module was loaded using code:load_binary/3.
Instead, the callers would get an 'undef' exception.
|
|
|
|
binary should be binary().
|
|
* henrik/wx/fix-pdf-name/OTP-9850:
Change the name of generated pdf file for documentation consistency
|
|
Merge from R14B integration branch (for inets-5.7.3) and
fixed appup and corresponding code-change code to work
in new version (inets-5.8.1).
Also some minor (R15B specific) test suite fixes.
Merge branch 'bmk/inets/inets573_integration' into bmk/inets/inets581_integration/r15
Conflicts:
lib/inets/doc/src/notes.xml
lib/inets/src/http_client/httpc_internal.hrl
lib/inets/src/inets_app/inets.appup.src
lib/inets/vsn.mk
|
|
bmk/snmp/snmp4173_integration/r13
Conflicts:
lib/snmp/doc/src/notes.xml
lib/snmp/src/app/snmp.appup.src
lib/snmp/vsn.mk
|
|
Mib server cache gclimit update function incorrectly calls
age update function. The gclimit update function update_mibs_cache_gclimit/1
incorrectly called update_mibs_cache_age/2 update function.
OTP-9868
|
|
|
|
In the following code excerpt, the instruction marked below was
incorrectly removed:
.
.
.
{'try',{y,2},{f,TryCaseLabel}}.
{bif,get,{f,0},[{x,0}],{x,0}}.
{move,{x,1},{y,0}}.
{move,{x,3},{y,1}}. <======= Incorrectly removed
{jump,{f,TryEndLabel}}.
{label,TryEndLabel}.
{try_end,{y,2}}.
{deallocate,3}.
return.
{label,TryCaseLabel}.
{try_case,{y,2}}.
.
.
.
beam_utils indicated that {y,1} was not used at TryEndLabel,
which by itself is correct. But it is still not safe to remove
the instruction, because {y,1} might be used at TryCaseLabel
if an exception occurs.
Noticed-by: Eric Merritt
|
|
* bjorn/compiler/bif-call-bug/OTP-9866:
erl_lint: Consistently reject local calls from guards
|
|
* egil/fix-error_logger-calendar/OTP-9854:
stdlib: Refactor to tag all times in error logger
stdlib: Use utc time as base in error logger
|
|
* raimo/64-bit-efile_drv/OTP-9820:
file_SUITE: Assume 64-bit windows has enough memory
erts: Badarg if port output overflows iov_len
prim_file_SUITE: large_file success depends on wordsize
file_SUITE: Increase timeout for large_file
file_SITE,prim_file_SUITE: Accept old OpenBSD pecularity
prim_file_SUITE: large_write - meaner test data and check result content
file_SUITE: large_write - check mem size before creating huge binary
erts: rewrite efile_writev to handle partial writes correctly
erts: Bugfix - driver_deq freed wrong length due to short type (int)
prim_file_SUITE: Add large_write/1
file_SUITE: Add large_write/1
file_SUITE: Refactor large_file/1
file_SUITE: Fix unix_free/1
|
|
If a guard test (such as is_list/1) has a local definition in a
module (or is imported), erl_lint will reject a call to it from
a guard if the call is not at the top-level:
foo(L) when is_list(L) =:= true -> %% Will be rejected.
ok.
is_list(_) -> ok.
But if the call is at the top-level, it will be accepted (and
cause a crash in a later compiler pass):
foo(L) when is_list(L) -> %% Will be accepted by erl_lint
ok.
is_list(_) -> ok.
This inconsistency was an oversight introduced when it became
possible to override BIFs with local definitions.
|
|
bmk/snmp/snmp4215_integration/r15
Conflicts:
lib/snmp/doc/src/notes.xml
lib/snmp/doc/src/notes_history.xml
lib/snmp/src/app/snmp.appup.src
lib/snmp/vsn.mk
|
|
* bmk/inets/inets573_integration:
[inets/httpc] The client incorrectly streams 404 responses
[inets/httpc] Add proper code change code
[inets/httpc] Add test case
[inets] Add proper release notes for OTP-9847
[inets/httpc] Fix the selection of session for keep-alive mode When selecting a session, the "state" of the session (specifically if the server has responded) was not taken into account. Attempting to fix this, a "state" field (actually available) has been added to the session record.
[ftp] Fails to open IPv6 connection
|
|
Reported by Pailleau Eric
|
|
Cancel button cause a crash, and editing an object without inserting
a dot at the end caused a crash.
Also improved error messages a bit.
|
|
Fix crash when more than one index was set on mnesia table,
reported by Eric Pailleau.
|
|
OTP-9783
|
|
* ia/ssh/test-maint:
Remove generation of new test keys, use checked in test keys
Improve test case structure so that test should pass on all platforms
Exec test case should ignore stderr messages
Do not run ssh_to_openssh_SUITE if there is no oppenssh server running
|