From 93bee2c4129c5533ffdfc5c3bcf47f05088b039b Mon Sep 17 00:00:00 2001 Message-Id: <93bee2c4129c5533ffdfc5c3bcf47f05088b039b.1715213124.git.mdw@distorted.org.uk> From: Mark Wooding Date: Sun, 4 Feb 2001 01:17:12 +0000 Subject: [PATCH] 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. Organization: Straylight/Edgeware From: mdw --- admin.c | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/admin.c b/admin.c index 766b3052..5c71e9f8 100644 --- a/admin.c +++ b/admin.c @@ -1,6 +1,6 @@ /* -*-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 * @@ -29,6 +29,11 @@ /*----- 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. @@ -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 (a_stdin) { - a_write(a_stdin, "WARN becoming a daemon\n"); + a_warn("becoming a daemon"); + if (a_stdin) a_destroy(a_stdin); - } if (u_daemon()) a_write(a, "ERR error becoming a daemon: %s", strerror(errno)); - else + else { 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"); + a_write(a, "OK\n"); 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); - 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) -- [mdw]