Age | Commit message (Collapse) | Author |
|
* cf/simple_one_for_one_shutdown:
Explain how dynamic child processes are stopped
Stack errors when dynamic children are stopped
Explicitly kill dynamic children in supervisors
Conflicts:
lib/stdlib/doc/src/supervisor.xml
OTP-9647
|
|
* cf/supervisor_shutdown_infinity:
Add a warning to docs about workers' shutdown strategy
Allow an infinite timeout to shutdown worker processes
OTP-9648
|
|
* bjorn/unicode-noncharacters/OTP-9624:
Allow noncharacter code points in unicode encoding and decoding
|
|
* sverker/random-improved-algo:
Improve algorithm in module random.
Fix a bug in the implementation of the pseudo-random number generator
OTP-8713
|
|
|
|
The two noncharacter code points 16#FFFE and 16#FFFF were not
allowed to be encoded or decoded using the unicode module or
bit syntax. That causes an inconsistency, since the noncharacters
16#FDD0 to 16#FDEF could be encoded/decoded.
There is two ways to fix that inconsistency.
We have chosen to allow 16#FFFE and 16#FFFF to be encoded and
decoded, because the noncharacters could be useful internally
within an application and it will make encoding and decoding
slightly faster.
Reported-by: Alisdair Sullivan
|
|
|
|
Now, in child specification, the shutdown value can also be set to infinity
for worker children. This restriction was removed because this is not always
possible to predict the shutdown time for a worker. This is highly
application-dependent.
|
|
|
|
|
|
|
|
|
|
According to the supervisor's documentation:
"Important note on simple-one-for-one supervisors: The dynamically
created child processes of a simple-one-for-one supervisor are not
explicitly killed, regardless of shutdown strategy, but are expected
to terminate when the supervisor does (that is, when an exit signal
from the parent process is received)."
All is fine as long as we stop simple_one_for_one supervisor manually.
Dynamic children catch the exit signal from the supervisor and leave.
But, if this happens when we stop an application, after the top
supervisor has stopped, the application master kills all remaining
processes associated to this application. So, dynamic children that trap
exit signals can be killed during their cleanup (here we mean inside
terminate/2). This is unpredictable and highly time-dependent.
In this commit, supervisor module is patched to explicitly terminate
dynamic children accordingly to the shutdown strategy.
NOTE: Order in which dynamic children are stopped is not defined. In
fact, this is "almost" done at the same time.
|
|
|
|
Running Dialyzer on the test suites revealed a few type errors.
|
|
OTP-9502
|
|
* ml/two-trivial-documentation-fixes:
Fix trivial documentation errors
OTP-9498
|
|
In the current implementation of supervisors, temporary children
should never be restarted. However, when a temporary child is
restarted as part of a one_for_all or rest_for_one strategy where
the failing process is not the temporary child, the supervisor
still tries to restart it.
Because the supervisor doesn't keep some of the MFA information
of temporary children, this causes the supervisor to hit its
restart limit and crash.
This patch fixes the behaviour by inserting a clause in
terminate_children/2-3 (private function) that will omit temporary
children when building a list of killed processes, to avoid having
the supervisor trying to restart them again.
Only supervisors in need of restarting children used the list, so
the change should be of no impact for the functions that called
terminate_children/2-3 only to kill all children.
The documentation has been modified to make this behaviour
more explicit.
|
|
* cr/trivia:
replace "a ssl" with "an ssl"
reindent pkix_path_validation/3
Trivial documentation fixes
OTP-9464
|
|
|
|
|
|
|
|
An incorrect spec, rpc:yield/1, has been fixed.
|
|
|
|
* pan/stdlib_doc_fixes/OTP-9318:
Fixup of re doc and specs
|
|
|
|
|
|
|
|
Filipe David Manana
OTP-9114: [ftp] Added (type) spec for all exported functions.
OTP-9123: mod_esi:deliver/2 made to accept binary data.
Bernard Duggan
OTP-9124: [httpd] Prevent XSS in error pages.
Michael Santos
OTP-9131: [httpd] Wrong security property names used in documentation.
Garrett Smith
OTP-9157: [httpd] Improved error messages.
Ricardo Catalinas Jim�nez
OTP-9158: [httpd] Fix timeout message generated by mod_esi.
Bernard Duggan
OTP-9202: [httpd] Extended support for file descriptors.
Attila Rajmund Nohl
OTP-9230: The default ssl kind has now been changed to essl.
OTP-9246: [httpc] httpc manager crash because of a handler retry
race condition.
Merge branch 'bmk/inets/inet56_integration' into dev
|
|
Use Erlang specs and types for documentation
|
|
* ta/unicode-non-chars:
unicode: document 16#FFFE and 16#FFFF (non chars)
OTP-9256
|
|
|
|
supervisor:terminate_child/2 was not allowed if the supervisor used
restart strategy simple_one_for_one. This is now changed so that
children of this type of supervisors can be terminated by specifying
the child's Pid.
|
|
|
|
* bd/doc_fixes2:
Fix mistake in blowfish_ebc_en/decrypt docs
Compile fixes for earlier documentation fixes
Various small documentation fixes
OTP-9172
|
|
Fixed a couple of compilation errors. Also backed out a tiny change
that had already been added by Tuncer Ayaz in his binary-part-typo
branch.
|
|
This change fixes a bunch of small (and a few less small) typos and
other errors in various modules that I've spotted throughout my travels.
|
|
Avoid seed values that are even divisors of the primes
and by that prevent getting seeds that are stuck on zero.
Example: random:seed(0,0,0) would produce a series of only zeros.
|
|
Reported-By: Pablo Platt
|
|
|
|
bmk/inets/ftp/missing_spec_causes_dialyxer_problems/OTP-9114
Also fixed a bunch of "end-years" (was 2010 but should have been 2011,
which the commit hook not happy with).
|
|
|
|
|
|
* pan/doc_link_corrections/OTP-9112:
Remove link_check warnings re httpc.xml,sys.xml and unicode.xml
Change io.xml so that html anchors gets generated for all arities
|
|
* ay/precisionfix/OTP-8989:
Fix ~F.Fs bug, add testcase and improve documentation
io_lib_format string precision fix
|
|
|
|
|
|
|
|
|
|
This new feature adds the missing week number function to the calendar module
of the stdlib application. The implementation conforms to the ISO 8601 standard.
The new feature has been implemented tested and documented.
|