summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--man/runsv.814
-rw-r--r--package/CHANGES5
-rw-r--r--src/runsvchdir.c6
-rw-r--r--src/runsvctrl.c6
-rw-r--r--src/runsvstat.c2
5 files changed, 25 insertions, 8 deletions
diff --git a/man/runsv.8 b/man/runsv.8
index 7c98f3a..915dddb 100644
--- a/man/runsv.8
+++ b/man/runsv.8
@@ -128,7 +128,7 @@ If the service is running, send it a TERM signal.
 Kill.
 If the service is running, send it a KILL signal.
 .TP
-.B x \fRor \fBe
+.B x
 Exit.
 If the service is running, send it a TERM signal, and then a CONT signal.
 Do not restart the service.
@@ -176,6 +176,18 @@ The command
 .I o
 is always considered as command
 .IR u .
+On command
+.I d
+first
+.I service\fR/control/t
+is checked, and then
+.I service\fR/control/d.
+On command
+.I x
+first
+.I service\fR/control/t
+is checked, and then
+.I service\fR/control/x.
 The control of the optional log service cannot be customized.
 .SH SIGNALS
 If
diff --git a/package/CHANGES b/package/CHANGES
index 3ccb366..f00c14a 100644
--- a/package/CHANGES
+++ b/package/CHANGES
@@ -1,6 +1,9 @@
-  * man/runsv.8: typo.
+  * man/runsv.8: typo; no longer document the e control character; clarify
+    custom control on d and x.
   * doc/runscripts.html: don't use absolute pathnames for programs in $PATH;
     add contributed run scripts (thx Sascha Huedepohl); typos.
+  * runsvchdir.c, runsvstat.c: optimize output buffer handling.
+  * runsvctrl.c: write x control character to runsv on e.
 
 runit 1.2.3
 Mon, 18 Apr 2005 17:08:35 +0000
diff --git a/src/runsvchdir.c b/src/runsvchdir.c
index b62fb71..fb83645 100644
--- a/src/runsvchdir.c
+++ b/src/runsvchdir.c
@@ -49,7 +49,8 @@ int main (int argc, char **argv) {
   if ((s.st_ino == ino) && (s.st_dev == dev)) {
     buffer_puts(buffer_1, "runsvchdir: ");
     buffer_puts(buffer_1, new);
-    buffer_putsflush(buffer_1, ": current.\n");
+    buffer_puts(buffer_1, ": current.\n");
+    buffer_flush(buffer_1);
     _exit(0);
   }
 
@@ -69,6 +70,7 @@ int main (int argc, char **argv) {
   }
   buffer_puts(buffer_1, "runsvchdir: ");
   buffer_puts(buffer_1, new);
-  buffer_putsflush(buffer_1, ": now current.\n");
+  buffer_puts(buffer_1, ": now current.\n");
+  buffer_flush(buffer_1);
   _exit(0);
 }
diff --git a/src/runsvctrl.c b/src/runsvctrl.c
index 93ea400..ccf8fc8 100644
--- a/src/runsvctrl.c
+++ b/src/runsvctrl.c
@@ -52,9 +52,9 @@ int main(int argc, char **argv) {
   if (! argv || ! *argv) usage();
 
   switch ((c =**argv)) {
-  case 'u': case 'd': case 'o': case 'x': case 'e': case 'p': case 'c':
-  case 'h': case 'a': case 'i': case 't': case 'k': case 'q': case '1':
-  case '2':
+  case 'e': c ='x';
+  case 'u': case 'd': case 'o': case 'x': case 'p': case 'c': case 'h':
+  case 'a': case 'i': case 't': case 'k': case 'q': case '1': case '2':
     break;
   default:
     usage();
diff --git a/src/runsvstat.c b/src/runsvstat.c
index e0e7673..7b2607a 100644
--- a/src/runsvstat.c
+++ b/src/runsvstat.c
@@ -155,7 +155,7 @@ int main(int argc, char **argv) {
 	  }
 	}
       }
-      buffer_putsflush(buffer_1, "\n");
+      buffer_puts(buffer_1, "\n"); buffer_flush(buffer_1);
     }
     if (fchdir(curdir) == -1) {
       rc =100;