diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/s6-rc/s6-rc-update.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/s6-rc/s6-rc-update.c b/src/s6-rc/s6-rc-update.c index 6704e93..66c956f 100644 --- a/src/s6-rc/s6-rc-update.c +++ b/src/s6-rc/s6-rc-update.c @@ -753,7 +753,7 @@ int main (int argc, char const *const *argv, char const *const *envp) /* Down transition */ { - char const *newargv[11 + (dryrun * 5) + want_count(oldstate, oldn)] ; + char const *newargv[12 + (dryrun * 4) + want_count(oldstate, oldn)] ; unsigned int m = 0, i = oldn ; int wstat ; char vfmt[UINT_FMT] ; @@ -775,7 +775,8 @@ int main (int argc, char const *const *argv, char const *const *envp) newargv[m++] = tfmt ; newargv[m++] = "-l" ; newargv[m++] = live ; - newargv[m++] = "-Xd" ; + if (!dryrun) newargv[m++] = "-X" ; + newargv[m++] = "-d" ; newargv[m++] = "--" ; newargv[m++] = "change" ; while (i--) if (oldstate[i] & 2) @@ -818,7 +819,7 @@ int main (int argc, char const *const *argv, char const *const *envp) /* Up transition */ { - char const *newargv[11 + (dryrun * 5) + want_count(newstate, newn)] ; + char const *newargv[12 + (dryrun * 4) + want_count(newstate, newn)] ; unsigned int m = 0, i = newn ; char vfmt[UINT_FMT] ; char tfmt[UINT_FMT] ; @@ -839,7 +840,8 @@ int main (int argc, char const *const *argv, char const *const *envp) newargv[m++] = tfmt ; newargv[m++] = "-l" ; newargv[m++] = live ; - newargv[m++] = "-Xua" ; + if (!dryrun) newargv[m++] = "-X" ; + newargv[m++] = "-u" ; newargv[m++] = "--" ; newargv[m++] = "change" ; while (i--) if (newstate[i] & 2) |