From 4810f5b1e58c3f8ec49babfc61b53c5efebbbd16 Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Tue, 1 Sep 2009 13:54:22 +0000 Subject: [PATCH] rc: support for --progress Prints dots each second while waiting for a daemon to stop --- src/rc/start-stop-daemon.c | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/src/rc/start-stop-daemon.c b/src/rc/start-stop-daemon.c index 5529e85..27632c0 100644 --- a/src/rc/start-stop-daemon.c +++ b/src/rc/start-stop-daemon.c @@ -443,6 +443,9 @@ run_stop_schedule(const char *exec, const char *const *argv, uid, 0, true, false, true)) == 0) return 0; + if ((nloops % item->value) == 0) + printf("."); + if (nanosleep(&ts, NULL) == -1) { if (errno == EINTR) eerror("%s: caught an" @@ -592,6 +595,7 @@ static const struct option longopts[] = { { "exec", 1, NULL, 'x'}, { "stdout", 1, NULL, '1'}, { "stderr", 1, NULL, '2'}, + { "progress", 0, NULL, 'P'}, longopts_COMMON }; static const char * const longopts_help[] = { @@ -619,6 +623,7 @@ static const char * const longopts_help[] = { "Binary to start/stop", "Redirect stdout to file", "Redirect stderr to file", + "Print dots each second while waiting", longopts_help_COMMON }; #include "_usage.c" @@ -679,6 +684,7 @@ start_stop_daemon(int argc, char **argv) mode_t numask = 022; char **margv; unsigned int start_wait = 0; + int progress = 0; TAILQ_INIT(&schedule); #ifdef DEBUG_MEMORY @@ -851,6 +857,10 @@ start_stop_daemon(int argc, char **argv) redirect_stderr = optarg; break; + case 'P': /* --progress */ + progress = true; + break; + case_RC_COMMON_GETOPT } -- 1.6.4.2