summaryrefslogtreecommitdiff
path: root/timedrun.c
diff options
context:
space:
mode:
authorDavid Carlier <devnexen@gmail.com>2020-02-22 10:02:16 +0000
committerdormando <dormando@rydia.net>2020-02-26 11:36:03 -0800
commit04a56d2eeade6196599b0b5c1edac13f41c164ce (patch)
treeb4fcd0fba304629096e7bc8d6b6e2ad13089e4aa /timedrun.c
parent0d4901071c74f9c3b63162ef5887a5c5b981f385 (diff)
downloadmemcached-04a56d2eeade6196599b0b5c1edac13f41c164ce.tar.gz
timedrun: proper signal handler initialization.
also print basic usage when forgetting arguments.
Diffstat (limited to 'timedrun.c')
-rw-r--r--timedrun.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/timedrun.c b/timedrun.c
index 07f5d0d..28ce498 100644
--- a/timedrun.c
+++ b/timedrun.c
@@ -1,6 +1,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
+#include <string.h>
#include <signal.h>
#include <sys/wait.h>
#include <sysexits.h>
@@ -21,6 +22,7 @@ static int wait_for_process(pid_t pid)
int i = 0;
struct sigaction sig_handler;
+ memset(&sig_handler, 0, sizeof(struct sigaction));
sig_handler.sa_handler = signal_handler;
sig_handler.sa_flags = 0;
@@ -89,10 +91,16 @@ static int spawn_and_wait(char **argv)
return rv;
}
+static void usage(void) {
+ fprintf(stderr, "./timedrun <naptime in sec> args...\n");
+ exit(-1);
+}
+
int main(int argc, char **argv)
{
int naptime = 0;
- assert(argc > 2);
+ if (argc < 3)
+ usage();
naptime = atoi(argv[1]);
assert(naptime > 0 && naptime < 1800);