Roland Mainz writes:
> "Jordan Brown (Sun)" wrote:
> > Roland Mainz wrote:
> > > How does SMF detect that a child process failed ?
> > 
> > svc.startd(1M) says that a contract-model service has failed if:
> >         o  all processes in the service exit
> >         o  any processes in the service produce a core dump
> 
> How is this detected ?

contractfs -- see contract(4).

> >         o  a process outside the service sends a service process a
> >            fatal  signal (for example, an administrator terminates
> >            a service process with the pkill command)
> 
> What happens if a process within the service sends another process
> within the service a SIGKILL and doesn't reap the child's corpse
> immediately ?

Nothing.

> And what happens if the same happens between threads of
> the same process (which will be important since we're going to add
> thread support to ksh93 and these threads should be able to communicate
> via signals, too) ?

Nothing.

> > Here it's mixed.  Note that the rule above talks about a process outside
> > the service (I presume that means in a different contract) sending a
> > fatal signal (I presume that means that it's not being caught).
> 
> Is there a way to turn this behaviour "off" ?

Yes.  But it's the default for SMF services.

-- 
James Carlson, Solaris Networking              <james.d.carlson at sun.com>
Sun Microsystems / 35 Network Drive        71.232W   Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757   42.496N   Fax +1 781 442 1677

Reply via email to