chiark / gitweb /
The `DAEMON' notification to stdout is replaced by a warning. The
authormdw <mdw>
Sun, 4 Feb 2001 01:17:12 +0000 (01:17 +0000)
committermdw <mdw>
Sun, 4 Feb 2001 01:17:12 +0000 (01:17 +0000)
`DAEMON' and `QUIT' command send `OK' on successful completion.  Put
assignment of sequence number in a T(...) guard.

admin.c

diff --git a/admin.c b/admin.c
index 766b30528e9170fb254baba6a5183d64d53e8124..5c71e9f8136861286e9124a0c3535f62222d0ada 100644 (file)
--- a/admin.c
+++ b/admin.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
 /* -*-c-*-
  *
- * $Id: admin.c,v 1.2 2001/02/03 22:40:29 mdw Exp $
+ * $Id: admin.c,v 1.3 2001/02/04 01:17:12 mdw Exp $
  *
  * Admin interface for configuration
  *
  *
  * Admin interface for configuration
  *
 /*----- Revision history --------------------------------------------------* 
  *
  * $Log: admin.c,v $
 /*----- Revision history --------------------------------------------------* 
  *
  * $Log: admin.c,v $
+ * Revision 1.3  2001/02/04 01:17:12  mdw
+ * The `DAEMON' notification to stdout is replaced by a warning.  The
+ * `DAEMON' and `QUIT' command send `OK' on successful completion.  Put
+ * assignment of sequence number in a T(...) guard.
+ *
  * Revision 1.2  2001/02/03 22:40:29  mdw
  * Put timer information into the entropy pool when packets are received
  * and on similar events.  Reseed the generator on the interval timer.
  * Revision 1.2  2001/02/03 22:40:29  mdw
  * Put timer information into the entropy pool when packets are received
  * and on similar events.  Reseed the generator on the interval timer.
@@ -404,14 +409,15 @@ static void acmd_daemon(admin *a, unsigned ac, char *av[])
   if (flags & F_DAEMON)
     a_write(a, "ERR already running as a daemon\n");
   else {
   if (flags & F_DAEMON)
     a_write(a, "ERR already running as a daemon\n");
   else {
-    if (a_stdin) {
-      a_write(a_stdin, "WARN becoming a daemon\n");
+    a_warn("becoming a daemon");
+    if (a_stdin)
       a_destroy(a_stdin);
       a_destroy(a_stdin);
-    }
     if (u_daemon())
       a_write(a, "ERR error becoming a daemon: %s", strerror(errno));
     if (u_daemon())
       a_write(a, "ERR error becoming a daemon: %s", strerror(errno));
-    else
+    else {
       flags |= F_DAEMON;
       flags |= F_DAEMON;
+      a_write(a, "OK\n");
+    }
   }
 }
 
   }
 }
 
@@ -463,6 +469,7 @@ static void acmd_kill(admin *a, unsigned ac, char *av[])
 static void acmd_quit(admin *a, unsigned ac, char *av[])
 {
   a_warn("closing down on admin request");
 static void acmd_quit(admin *a, unsigned ac, char *av[])
 {
   a_warn("closing down on admin request");
+  a_write(a, "OK\n");
   a_quit();
 }
 
   a_quit();
 }
 
@@ -587,8 +594,8 @@ static void a_line(char *p, void *vp)
 void a_create(int fd_in, int fd_out)
 {
   admin *a = CREATE(admin);
 void a_create(int fd_in, int fd_out)
 {
   admin *a = CREATE(admin);
-  T( static unsigned seq = 0; )
-  a->seq = seq++;
+  T( static unsigned seq = 0;
+     a->seq = seq++; )
   T( trace(T_ADMIN, "admin: accepted connection %u", a->seq); )
   a->pname = 0;
   if (fd_in == STDIN_FILENO)
   T( trace(T_ADMIN, "admin: accepted connection %u", a->seq); )
   a->pname = 0;
   if (fd_in == STDIN_FILENO)