I will try to change it to the other way around, that multi-user is dependent on my service.
The perl script is executed in the foreground, it is almost the same startscript that I use in Solaris 9 and it behaves correctly there (only changes are the SMF exit codes) and I have set the service to transient, since from what I undestand of the svc.startd options, transient means that it does not care about the process after it has started, and I do not have to keep track of this after it has been started once. //Niklas -----Original Message----- From: Truong.Q.Nguyen at Sun.COM [mailto:truong.q.ngu...@sun.com] Sent: den 4 juli 2007 01:05 To: Jonsson, Niklas Cc: smf-discuss at opensolaris.org Subject: Re: [smf-discuss] Waiting for a SMF script to be done before running the next Niklas Jonsson wrote: > I got a dependency on multi-user in my service already. > > Clarification - A dependency on multi-user ensures multi-user is online before your services starts. The suggestions were that you add a dependent entity for multi-user-server so that multi-user-server doesn't start until your service is online. > This is how it works: > > The method script (start script) checks if there is a file present in /var/tmp, if that file exists it will execute a perl script that will do some minor tasks during startup, but the problem is that the service seems to be marked as online before this second perl script is done, and therefore it goes on to multi-user-server. > > If your service is indeed online without the suggested dependent entity, then your start method is probably returning before the perl script completes. A couple of things come to mind. Is the perl script running in the background? Is the service declared transient? What's startd/duration set to? -tony