From cfea5eea406ba3af96588ff458e55de9a149d9c5 Mon Sep 17 00:00:00 2001
From: Erlang/OTP This document describes the changes made to the STDLIB application.
+ References to
+ Own Id: OTP-6454 Aux Id: seq10407
+ Leave control back to gen_server during supervisor's
+ restart loop
+ When an attempt to restart a child failed, supervisor
+ would earlier keep the execution flow and try to restart
+ the child over and over again until it either succeeded
+ or the restart frequency limit was reached. If none of
+ these happened, supervisor would hang forever in this
+ loop.
+ This commit adds a timer of 0 ms where the control is
+ left back to the gen_server which implements the
+ supervisor. This way any incoming request to the
+ supervisor will be handled - which could help breaking
+ the infinite loop - e.g. shutdown request for the
+ supervisor or for the problematic child.
+ This introduces some incompatibilities in stdlib due to
+ new return values from supervisor:
+ *** POTENTIAL INCOMPATIBILITY ***
+ Own Id: OTP-9549
+ If a temporary child's start function returned 'ignore',
+ then the supervisor would keep it's child specification.
+ This has been corrected. Child specifications for
+ non-existing temporary children shall never be kept.
+ Own Id: OTP-9782 Aux Id: seq11964 Use universal time as base in error logger
+
+ Previous conversion used the deprecated
+ calendar:local_time_to_universal_time/1
+
+
+ Own Id: OTP-9854
+ +Calling a guard test (such as is_list/1) from the + top-level in a guard, would cause a compiler crash if + there was a local definition with the same name. + Corrected to reject the program with an error + message.
++ Own Id: OTP-9866
++ Fix the type spec from the doc of binary:part/3 (Thanks + to Ricardo Catalinas Jiménez)
++ Own Id: OTP-9920
++ Correct spelling of registered (Thanks to Richard + Carlsson)
++ Own Id: OTP-9925
++ Put gb_trees documentation into alphabetical order + (Thanks to Aidan Hobson Sayers)
++ Own Id: OTP-9929
+
+ Fix bug in ETS with
+ Own Id: OTP-9932
++ Add plugin support for alternative name lookup This patch + introduces a new way of locating a behaviour instance: + {via, Module, Name}. (Thanks to Ulf Wiger)
++ Own Id: OTP-9945
+ The function
+ Own Id: OTP-9953
+When an escript ends now all printout to standard + output and standard error gets out on the terminal. This + bug has been corrected by changing the behaviour of + erlang:halt/0,1, which should fix the same problem for + other escript-like applications, i.e that data stored in + the output port driver buffers got lost when printing on + a TTY and exiting through erlang:halt/0,1.
+The BIF:s erlang:halt/0,1 has gotten improved + semantics and there is a new BIF erlang:halt/2 to + accomplish something like the old semantics. See the + documentation.
+Now erlang:halt/0 and erlang:halt/1 with an integer + argument will close all ports and allow all pending async + threads operations to finish before exiting the emulator. + Previously erlang:halt/0 and erlang:halt(0) would just + wait for pending async threads operations but not close + ports. And erlang:halt/1 with a non-zero integer argument + would not even wait for pending async threads operations. +
+To roughly the old behaviour, to not wait for ports + and async threads operations when you exit the emulator, + you use erlang:halt/2 with an integer first argument and + an option list containing {flush,false} as the second + argument. Note that now is flushing not dependant of the + exit code, and you can not only flush async threads + operations which we deemed as a strange behaviour anyway. +
+Also, erlang:halt/1,2 has gotten a new feature: If the + first argument is the atom 'abort' the emulator is + aborted producing a core dump, if the operating system so + allows.
++ Own Id: OTP-9985
++ Add escript win32 alternative invocation. escript can now + be started as both "escript.exe" and "escript" (Thanks to + Pierre Rouleau)
++ Own Id: OTP-9997
+