[Bug 689820] Re: initscript emulation layer fails on start/stop/restart for jobs that don't spawn long lived processes

Thomas Hood 689820 at bugs.launchpad.net
Thu Feb 16 15:41:40 UTC 2012


It looks to me as if the quoted code will fail to stop and restart, but
it shouldn't fail to start.

In any case, the code in upstart 1.4 looks rather different.

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to upstart in Ubuntu.
https://bugs.launchpad.net/bugs/689820

Title:
  initscript emulation layer fails on start/stop/restart for jobs that
  don't spawn long lived processes

Status in “upstart” package in Ubuntu:
  New

Bug description:
  /lib/init/upstart-job doesn't perform the requested stop/start/restart
  action for Upstart jobs that don't spawn long-lived processes.

  For example, qemu-kvm's upstart job doesn't start any daemons, but
  rather its pre-start script sets some sysctls and loads kernel
  modules, and its post-stop script removes those modules. Its job
  scripts never get called when the init script emulation (/etc/init.d,
  invoke-rc.d(8)) is used, since no process is associated with the job.

  This seems to be the case even in the most recent upstart, in natty
  (0.6.6-3).

  start|stop|restart)
  [...]
      PID=$(status "$JOB" 2>/dev/null | awk '/[0-9]$/ { print $NF }')
      if [ -z "$PID" ] && [ "$COMMAND" = "stop" ]; then
          exit 0
      elif [ -n "$PID" ] && [ "$COMMAND" = "start" ]; then
          exit 0
      elif [ -z "$PID" ] && [ "$COMMAND" = "restart" ]; then
          start "$JOB"
          exit 0
      fi

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/upstart/+bug/689820/+subscriptions




More information about the foundations-bugs mailing list