wrap_log_reader have been fixed.
global:whereis_name/1 was unnecessarily inefficient.
global were consistent on all nodes. This has been
improved substantially.
unlink(Pid) used to crash when performed on a
non-distributed Erlang system, when Pid referred to a
different node (obtained via terms stored in the file system, for
example). Now it returns true.
code:which/1 could crash.
Previously when dist_ac got an "application stopped" message about an application that it didn't know of, it crashed with a badmatch. Now dist_ac stores this information instead and assumes that the distribution specification for this application will be set later (trough application:load/2).
A stop of a distributed application has been changed to behave in the same way on all nodes in the distributed case. An application:stop/1 followed by an application:start/1 on any node will resume operation locally.
Documentation for application:stop/1 has been updated to describe it's
behaviour in the distributed case.
(Own Id: OTP-4066)
(Aux Id: seq7093)
disk_log handles huge terms better when reading log files
using chunk/2. Bugs in chunk/2 and
chunk_step/3 as well as in wrap_log_reader
have been fixed.
runtime_tools, kernel and erts:
seq_trace:set_token([]) to reset the sequential trace
token. seq_trace:get_token/0 and
seq_trace:set_token/1 now have compatible token formats.
dbg:trace_port/2 and
dbg:trace_client/2,3 now supports trace to and read from a
size limited "wrap file set". dbg:trace_port_control/1 now supports operation
get_listen_port for the ip trace driver. {is_seq_trace} and
{get_seq_trace} has been added to test and read the
sequential trace token in match specs. {get_tcw} and {set_tcw Value} that
reads and sets a "trace control word" in the node has been added. The
"trace control word" is a word in each Erlang node of at least 24 bits.
There are also enhancements of BIFs:
erlang:system_info(trace_control_word) and
erlang:system_flag(trace_control_word, Value) for the same
purpose. {silent,
TrueOrFalse} for setting a silent call trace flag per process
that inhibits call trace messages, both local and global, has been
added. The BIF erlang:trace/3 has been extended to
recognize the flag 'silent' to start a call trace in silent mode. dbg module has been fixed, e.g the
'old_trace_call' flag has been removed from the 'all' flags list, and
the dbg server no longer hangs if the supplied tracer fails to start.
{return_trace} destroys the tail recursiveness of
the traced function has been pointed out.
code:interpret/1, code:interpret_binary/3,
code:delete_interpet/1 code:interpeted/0 and
code:interpeted/1 have been removed since the debugger no
longer needs them.
disk_log caches written terms. This implies that the
close, lclose and sync functions
can return file errors. pid2name/1 is a new debug function
that given a disk log process (a pid) returns the name of the log.
-extra has been introduced,
which causes all following arguments to remain uninterpreted by Erlang;
the arguments are included in the list returned by
init:get_plain_arguments/0.
behaviour_info/1 to the
behaviour module. behaviour_info(callbacks) should return
a list of {FunctionName,Arity} which defines the callback
functions the behaviour uses. -behaviour(Behaviour) is compiled, its exported
functions will be compared with the list returned by
Behaviour:behaviour_info(callbacks) and a warning will be
issued if any callback function is missing. Behaviour is present at
compile-time and can be found in the current code path.
code:is_loaded/1 doesn't type check its arguments.