diff options
author | David Carlier <devnexen@gmail.com> | 2020-02-22 10:02:16 +0000 |
---|---|---|
committer | dormando <dormando@rydia.net> | 2020-02-26 11:36:03 -0800 |
commit | 04a56d2eeade6196599b0b5c1edac13f41c164ce (patch) | |
tree | b4fcd0fba304629096e7bc8d6b6e2ad13089e4aa /timedrun.c | |
parent | 0d4901071c74f9c3b63162ef5887a5c5b981f385 (diff) | |
download | memcached-04a56d2eeade6196599b0b5c1edac13f41c164ce.tar.gz |
timedrun: proper signal handler initialization.
also print basic usage when forgetting arguments.
Diffstat (limited to 'timedrun.c')
-rw-r--r-- | timedrun.c | 10 |
1 files changed, 9 insertions, 1 deletions
@@ -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); |