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);

Reply via email to