Pre-start and stop

Steve Langasek steve.langasek at ubuntu.com
Tue Jan 7 18:25:12 UTC 2014


On Mon, Jan 06, 2014 at 10:45:31PM -0500, Stéphane Graber wrote:
> > It seems like most of the examples in the Cookbook recommend that if you
> > want to stop a job in the pre-start stanza, you should call "stop" which
> > will handle stopping the job for you.  But, it seems looking at the
> > Upstart code I can just as easily return a negative return value to
> > cause the job to stop:

> > http://bazaar.launchpad.net/~upstart-devel/upstart/trunk/view/head:/init/job.c#L417

> > Is there a reason I should call "stop" over just returning a negative
> > value?

> Calling { stop; exit 0; } also means the job won't be considered as failed.

> Returning non-zero will log an error in the log file and prevent any job
> depending on the current job from starting (which may or may not be what
> you want).

> So in short, exitting non-zero or calling stop+exit are two different
> things with different behaviours, you have to choose which you want.

A job depending on the current job won't start if you call 'stop' from the
pre-start, either - because a depending job will have 'start on started
foo', and the 'started' event will not be emitted for a job stopped from the
pre-start.

-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slangasek at ubuntu.com                                     vorlon at debian.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <https://lists.ubuntu.com/archives/upstart-devel/attachments/20140107/d80960dc/attachment.pgp>


More information about the upstart-devel mailing list