From a7c8cb0a917efb0c20f905262eb3add172190416 Mon Sep 17 00:00:00 2001 From: Siri Hansen Date: Fri, 9 Dec 2011 10:17:52 +0100 Subject: Don't save child spec for temporary child if child's start func returns ignore Supervisor should never keep child specs for dead temporary children. --- lib/stdlib/doc/src/supervisor.xml | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) (limited to 'lib/stdlib/doc') diff --git a/lib/stdlib/doc/src/supervisor.xml b/lib/stdlib/doc/src/supervisor.xml index cddb55e5c5..33a7f5bb6a 100644 --- a/lib/stdlib/doc/src/supervisor.xml +++ b/lib/stdlib/doc/src/supervisor.xml @@ -127,25 +127,18 @@ child_spec() = {Id,StartFunc,Restart,Shutdown,Type,Modules}

StartFunc defines the function call used to start the child process. It should be a module-function-arguments tuple {M,F,A} used as apply(M,F,A).

-



-

The start function must create and link to the child process, and should return {ok,Child} or {ok,Child,Info} where Child is the pid of the child process and Info an arbitrary term which is ignored by the supervisor.

-



-

The start function can also return ignore if the child process for some reason cannot be started, in which case - the child specification will be kept by the supervisor but - the non-existing child process will be ignored.

-



-

+ the child specification will be kept by the supervisor + (unless it is a temporary child) but the non-existing child + process will be ignored.

If something goes wrong, the function may also return an error tuple {error,Error}.

-



-

Note that the start_link functions of the different behaviour modules fulfill the above requirements.

-- cgit v1.2.3