Module Name: src Committed By: bouyer Date: Sun Jan 30 13:15:14 UTC 2011
Modified Files: src/tests/fs/ffs [bouyer-quota2]: h_quota2_server.c Log Message: Add a command-line flag to toggle foreground/background To generate a diff of this commit: cvs rdiff -u -r1.1.2.1 -r1.1.2.2 src/tests/fs/ffs/h_quota2_server.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/tests/fs/ffs/h_quota2_server.c diff -u src/tests/fs/ffs/h_quota2_server.c:1.1.2.1 src/tests/fs/ffs/h_quota2_server.c:1.1.2.2 --- src/tests/fs/ffs/h_quota2_server.c:1.1.2.1 Thu Jan 20 14:25:04 2011 +++ src/tests/fs/ffs/h_quota2_server.c Sun Jan 30 13:15:14 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: h_quota2_server.c,v 1.1.2.1 2011/01/20 14:25:04 bouyer Exp $ */ +/* $NetBSD: h_quota2_server.c,v 1.1.2.2 2011/01/30 13:15:14 bouyer Exp $ */ /* * rump server for advanced quota tests @@ -12,6 +12,7 @@ #include <sys/mount.h> #include <stdlib.h> +#include <unistd.h> #include <ufs/ufs/ufsmount.h> @@ -20,10 +21,12 @@ #include "../../h_macros.h" +int background = 0; + static void usage(void) { - fprintf(stderr, "usage: %s diskimage bindurl\n", getprogname()); + fprintf(stderr, "usage: %s [-b] diskimage bindurl\n", getprogname()); exit(1); } @@ -32,7 +35,8 @@ { warnx("%s: %s", reason, strerror(error)); - //rump_daemonize_done(error); + if (background) + rump_daemonize_done(error); exit(1); } @@ -45,25 +49,38 @@ } int -main(int argc, const char *argv[]) +main(int argc, char **argv) { int error; struct ufs_args uargs; const char *filename; const char *serverurl; int log = 0; + int ch; + + while ((ch = getopt(argc, argv, "b")) != -1) { + switch(ch) { + case 'b': + background = 1; + break; + default: + usage(); + } + } + argc -= optind; + argv += optind; - if (argc != 3) + if (argc != 2) usage(); - filename = argv[1]; - serverurl = argv[2]; + filename = argv[0]; + serverurl = argv[1]; -#if 0 - error = rump_daemonize_begin(); - if (error) - errx(1, "rump daemonize: %s", strerror(error)); -#endif + if (background) { + error = rump_daemonize_begin(); + if (error) + errx(1, "rump daemonize: %s", strerror(error)); + } error = rump_init(); if (error) @@ -80,7 +97,8 @@ error = rump_init_server(serverurl); if (error) die("rump server init failed", error); - //rump_daemonize_done(RUMP_DAEMONIZE_SUCCESS); + if (background) + rump_daemonize_done(RUMP_DAEMONIZE_SUCCESS); sem_init(&sigsem, 0, 0); signal(SIGTERM, sigreboot);