How does a post-start script know the main script has died?
upstart at eehouse.org
upstart at eehouse.org
Wed Dec 9 21:40:53 GMT 2009
I'm launching dbus via an upstart job. To prevent later jobs from
being launched before the daemon is ready to handle connection
requests I have a post-start script that polls for the existance of
dbus-daemon's unix domain socket in /proc/net/tcp, breaking out of a
loop when the socket appears. When this works jobs that 'start on
started dbus' don't spawn until the socket is available.
But when dbus-daemon crashes, the post-start script runs forever.
(No, I can't just respawn dbus, but doing so doesn't seem to fix the
problem.) I'd like the post-start script to detect that dbus has
died. I can grep for the string 'stop' in the output of 'initcdl list
dbus' but that's gross: is there a better way? Am I misunderstanding
upstart to think that it should kill or at least signal the post-start
script itself in this case?
We're running 0.3.8, BTW. Our build system with its ancient autoconf
can't handle anything newer.
Thanks,
--Eric
--
******************************************************************************
* From the desktop of: Eric House, eehouse at eehouse.org *
* Crosswords 4.4 for WinMobile plays over the internet: xwords.sf.net *
******************************************************************************
More information about the upstart-devel
mailing list