X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=grading%2Ffilesys%2Fsyn-read.c;h=7d2ff3da2ecdbd52cd5adfbbb28f1357f8f9f79c;hb=27e2fa0176f088ee129a65130322574f3807c67c;hp=cdc7f189b56dd3e91390b91c2c9d4ab40cd8b54c;hpb=c36e5b768f46fc098377b9a70d2b1c02405ef14a;p=pintos-anon diff --git a/grading/filesys/syn-read.c b/grading/filesys/syn-read.c index cdc7f18..7d2ff3d 100644 --- a/grading/filesys/syn-read.c +++ b/grading/filesys/syn-read.c @@ -15,26 +15,14 @@ test_main (void) { pid_t children[CHILD_CNT]; int fd; - int i; - check (create (filename, sizeof buf), "create \"%s\"", filename); - check ((fd = open (filename)) > 1, "open \"%s\"", filename); + CHECK (create (filename, sizeof buf), "create \"%s\"", filename); + CHECK ((fd = open (filename)) > 1, "open \"%s\"", filename); random_bytes (buf, sizeof buf); - check (write (fd, buf, sizeof buf) > 0, "write \"%s\"", filename); + CHECK (write (fd, buf, sizeof buf) > 0, "write \"%s\"", filename); msg ("close \"%s\"", filename); close (fd); - for (i = 0; i < CHILD_CNT; i++) - { - char cmd_line[128]; - snprintf (cmd_line, sizeof cmd_line, "child-syn-read %d", i); - check ((children[i] = exec (cmd_line)) != PID_ERROR, - "exec child %d of %d: \"%s\"", i + 1, (int) CHILD_CNT, cmd_line); - } - - for (i = 0; i < CHILD_CNT; i++) - { - int status = join (children[i]); - check (status == i, "join child %d of %d", i + 1, (int) CHILD_CNT); - } + exec_children ("child-syn-read", children, CHILD_CNT); + join_children (children, CHILD_CNT); }