summaryrefslogtreecommitdiff
path: root/src/alias
diff options
context:
space:
mode:
Diffstat (limited to 'src/alias')
-rw-r--r--src/alias/s6-frontend-alias-sv.c24
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)