[Merge] lp:~xnox/ubuntu/utopic/sysvinit/upstart-task into lp:ubuntu/sysvinit

Steve Langasek steve.langasek at canonical.com
Sat May 31 18:36:25 UTC 2014


> --- startpar/makeboot.c	2012-06-27 23:00:45 +0000
> +++ startpar/makeboot.c	2014-05-30 07:54:58 +0000
> @@ -451,6 +451,13 @@
>  				         t->name);
>  			}
>  			ret = system(command);
> +			if (WEXITSTATUS(ret) != 0) {
> +			    free(command);
> +			    asprintf(&command,
> +				     "grep -q '^task$' %s",
> +				     path);
> +			    ret = system(command);
> +			}
>  			if (WEXITSTATUS(ret) == 0) {
>  				nodevec[count] = t;
>  				finish_task(t);
> 

This appears to give task jobs a free pass both when checking if they're
started, but also when checking if they're stopped.  The reason for making
this change is because we can't detect if a task has run and already stopped
again; but if it's currently running we can certainly detect that.  Should
we do so, to avoid letting an init script be called on shutdown while a task
is still running?

I had a look at the code around timeouts in startpar, and don't think it's
worth trying to hook the task handling up to it for what should be a
short-term solution.

-- 
https://code.launchpad.net/~xnox/ubuntu/utopic/sysvinit/upstart-task/+merge/221493
Your team Ubuntu branches is requested to review the proposed merge of lp:~xnox/ubuntu/utopic/sysvinit/upstart-task into lp:ubuntu/sysvinit.



More information about the Ubuntu-reviews mailing list