James Carlson wrote: > Roland Mainz writes: > > How does SMF detect that a child process failed ? Note that any exit > > code from 0 ... 255 is _valid_ for shell scripts and applications and > > killing whole services just because a child process returned a non-zero > > exit code may not be a good idea (I hope it's not implemented this way). > > The same applies to SIGTERM and other signals - shell scripts sometimes > > employ signals for communication and that includes even stuff like > > SIGTERM and SIGHUP and the child processes may not be cleaned-up > > immediately (for example if there are other events to process the > > reaping of dead children may need some time). > > Most of the documentation is in ctrun(1), process(4), and contract(4), > but I think you might need the contractfs PSARC case to really get > this stuff in detail. > > Only fatal signals from outside of the process contract (if I > understand the documentation correctly) are treated as a special > event. Ones inside the same contract are not.
Erm... who or what defines "fatal" ? Even SIGSEGV can be caught within applications (either using alternative stacks or a seperate thread (assuming I don't mix-up things again...)) and is not fatal... ---- Bye, Roland -- __ . . __ (o.\ \/ /.o) roland.mainz at nrubsig.org \__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer /O /==\ O\ TEL +49 641 7950090 (;O/ \/ \O;)