I just changed from contract duration transient to child, and it made
things worse. As soon as I enabled the service, the listener correctly
started (and probably forked and exec'ed). SMF came to the conclusion that
the listener exited, and tried to start again, and of course failed
because the port was already in use.

Mario


On Wed, August 16, 2006 23:12, Nicolas Williams wrote:
> On Wed, Aug 16, 2006 at 02:08:58PM -0700, David Powell wrote:
>> On Wed, Aug 16, 2006 at 08:07:49AM +0200, Mario Truyens wrote:
>> > You could also take the opposite approach: why not extend SMF with
>> another
>> > property, where you can specify that a service is 'gone' when the
>> parent
>> > process in the contract is gone, and not the full contract? I guess
>> that
>> > there are many other daemons around that work in the same way as an
>> Oracle
>> > listener...
>>
>>   You've just described a "child" service, for which a property already
>>   exists.  From svc.startd(1M):
>>
>>     startd/duration
>>
>>          The duration property defines the  service's  model.  It
>>          can  be  set  to  transient,  child also known as "wait"
>>          model services, or contract (the default).
>>
>>   The service is considered running as soon as the start method (which
>>   is the parent process in the contract) begins.  When it exits, the
>>   service is considered to have terminated and is restarted.  The
>>   remainder of the contract is left alone.
>
> I had the impression that this particular service involved more than one
> process that should be in the running service's process contract, but
> spawned children that also shouldn't be in the same contract.  If that's
> the case then this won't do.  Or am I missing something.
>
> Nico
> --
>
>



Reply via email to