7d2ff3da2ecdbd52cd5adfbbb28f1357f8f9f79c
[pintos-anon] / grading / filesys / syn-read.c
1 #include <random.h>
2 #include <stdio.h>
3 #include <syscall.h>
4 #include "fslib.h"
5 #include "syn-read.h"
6
7 const char test_name[] = "syn-read";
8
9 static char buf[BUF_SIZE];
10
11 #define CHILD_CNT 10
12
13 void
14 test_main (void) 
15 {
16   pid_t children[CHILD_CNT];
17   int fd;
18
19   CHECK (create (filename, sizeof buf), "create \"%s\"", filename);
20   CHECK ((fd = open (filename)) > 1, "open \"%s\"", filename);
21   random_bytes (buf, sizeof buf);
22   CHECK (write (fd, buf, sizeof buf) > 0, "write \"%s\"", filename);
23   msg ("close \"%s\"", filename);
24   close (fd);
25
26   exec_children ("child-syn-read", children, CHILD_CNT);
27   join_children (children, CHILD_CNT);
28 }