diff options
Diffstat (limited to 'src/alias')
-rw-r--r-- | src/alias/s6-frontend-alias-sv.c | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/src/alias/s6-frontend-alias-sv.c b/src/alias/s6-frontend-alias-sv.c index 3b1d3ac..e38ab28 100644 --- a/src/alias/s6-frontend-alias-sv.c +++ b/src/alias/s6-frontend-alias-sv.c @@ -153,6 +153,12 @@ static int down (char const *dir, char const *const *envp) return action(dir, "-d", "-d", 'D', envp) ; } +static int forcedown (char const *dir, char const *const *envp) +{ + warnnokill() ; + return down(dir, envp) ; +} + static int bail (char const *dir, char const *const *envp) { int e ; @@ -162,6 +168,12 @@ static int bail (char const *dir, char const *const *envp) return e ; } +static int forcebail (char const *dir, char const *const *envp) +{ + warnnokill() ; + return bail(dir, envp) ; +} + static int hup_h (char const *dir, char const *const *envp) { return simple_svc(dir, "-h", envp) ; @@ -282,10 +294,19 @@ static int lsb_tryrestart (char const *dir, char const *const *envp) return e | status(dir, envp) ; } +static int lsb_forcetryrestart (char const *dir, char const *const *envp) +{ + warnnokill() ; + return lsb_tryrestart(dir, envp) ; +} + static info_t const commands[] = { { .name = "1", .f = &usr1_h }, { .name = "2", .f = &usr2_h }, + { .name = "D", .f = &forcedown }, + { .name = "T", .f = &lsb_forcetryrestart }, + { .name = "X", .f = &forcebail }, { .name = "a", .f = &alarm_h }, { .name = "al", .f = &alarm_h }, { .name = "ala", .f = &alarm_h }, @@ -354,7 +375,8 @@ static info_t const commands[] = { .name = "term", .f = &term_h }, { .name = "try-restart", .f = &lsb_tryrestart }, { .name = "u", .f = &up }, - { .name = "up", .f = &up } + { .name = "up", .f = &up }, + { .name = "x", .f = &bail } } ; int main (int argc, char const *const *argv, char const *const *envp) |