inet:setopts/2 is now
documented.
erlang:system_flag/2
will no longer accept the keep_zombies argument.
process_info/2 will no longer accept the exit
option (which was used to retrieve the exit reason for a zombie
process).
+Mea r10b", the
emulator will use the default configuration we currently expect the
Erlang/OTP R10B emulator to use. See the erts_alloc(3)
documentation for further information. instrument(3), erlang:system_info/1, and
erts_alloc(3) documentation for further information. +m, +t, and
+T flags have been changed to, respectively,
+MYm, +MYtt, and +MYtp. The
+d, and +S* flags have been removed. See the
erts_alloc(3), and the erl(1) documentation
for further information.
gen_tcp:shutdown/2 function has been added. To handle
shutdown from the other side, the option {exit_on_close,
true|false} has been added to the inet:setops/2
function.
erlang:fun_info/2 function will now return the name of
the local function that implements the fun. Also, the
arity information returned has now been documented.
A http state bug in inet_drv (affecting gen_tcp) has been fixed. Patch from Claes Wikström.
A bug in defining max number of ports has been fixed. Patch from Claes Wikström.
A bug in erlang:port_call/3 when calling a driver with a NULL driver struct ->call field has been fixed. Patch from Luke Gorrie.
There is a new function file:script/1,2 that does the same as file:eval/1 but gives a return value. For completness, file:path_script/2,3, file:eval/2 and file:path_eval/3 are also added. Suggestion from Ulf Wiger. See the documentation for details.
erlang:trace/3 did no clear
trace flags on processes that were exiting. This bug has now been
fixed.
The gen_udp options add_membership and
drop_membership are now allowed. Patch from Vance Shipley.
gen_udp:open/1,2 with service name instead of port
number now works. Patch from carlos@lfcia.org.
An unjustified
compiler warning when using an explicit space character as pad
character to io:format/2 and similar has been removed.
If an illegal node name is used to start a node, now
net_kernel fails noisily instead of just letting the node
start in non-distributed mode.
Now
gen_server:format_status/2 also works with non-registered
processes.
There are two new functions
erlang:list_to_integer/2 and
erlang:integer_to_list/2 that takes a number base
argument. See the documentataion for details.
New format characters
for io:format/2 and similar are ~b, ~B, ~x, ~X, ~+ and ~#.
See the documentaion for details.
New format characters for
io:fread/2 and similar are ~u, ~- and ~#. See the
documentation for details.
The token scanner erl_scan
has been rewritten to become twice as fast as before. Now, incomplete
any-base numbers such as "16#" are regarded as errors instead of as
zero. The allowed base number range has been extended to 2..36 instead
of previously 2..16.
There is a new function
lists:split/2. See the documentation.
For everyone that
has written their own function to calculate the time difference between
two now() calls there is now
timer:now_diff/2. See the documentation.
(Own Id: OTP-4747)
file that failed to flush write buffers after
write errors, for example device full, and caused subsequent writes
(after repositioning to a still writable position in the file) to write
invalid data, has been corrected.
A bug that causes inet_drv.c not to free prebound
sockets has been corrected.
A bug that caused
prim_inet:getiflist/1 to miss some interfaces has been
corrected.
(Own Id: OTP-4508)
driver_exit
(A link from process to port was lost), has been corrected.
Object field in the {'DOWN', MonitorReference, Type,
Object, Info} messages is now always on the form
{RegisteredName, NodeName} when
erlang:monitor/2 has been called with a registered name
(see erlang(3)).
erlang:phash2, that
distributes small integers better than erlang:phash, and
is faster for bignums and binaries.
Comparisons between two ports or between two
references were previously unstable and didn't conform to
the Erlang specification. Comparisons between two pids
didn't previously conform to the Erlang specification. The comparison
between two pids, ports, or
references has therefore been changed and is now stable,
and does now conform to the Erlang specification.
Cut from the
Erlang specification:
If t1 and t2 are
both refs, both PIDs, or both ports, then t1 precedes
t2 if and only if either
* node(t1)
precedes node(t2), or
* node(t1) equals
node(t2) and t1 was created before
t2.