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.