Get rid of unnecessary barrier. Improve comment.
[pintos-anon] / grading / vm / mmap-write.c
1 #include <stdio.h>
2 #include <string.h>
3 #ifdef PINTOS
4 #include <syscall.h>
5 #else
6 #include "posix-compat.h"
7 #endif
8 #include "sample.inc"
9
10 #define ACTUAL ((void *) 0x10000000)
11
12 int
13 main (void) 
14 {
15   int fd;
16   mapid_t map;
17   char buf[1024];
18
19   printf ("(mmap-write) begin\n");
20
21   /* Write file via mmap. */
22   if (!create ("sample.txt", strlen (sample)))
23     {
24       printf ("(mmap-write) create() failed\n");
25       return 1;
26     }
27   
28   fd = open ("sample.txt");
29   if (fd < 0) 
30     {
31       printf ("(mmap-write) open() failed\n");
32       return 1;
33     }
34
35   map = mmap (fd, ACTUAL);
36   if (map == MAP_FAILED)
37     {
38       printf ("(mmap-write) mmap() failed\n");
39       return 1;
40     }
41   memcpy (ACTUAL, sample, strlen (sample));
42   munmap (map);
43
44   /* Read back via read(). */
45   read (fd, buf, strlen (sample));
46   if (memcmp (ACTUAL, sample, strlen (sample)))
47     {
48       printf ("(mmap-write) read of mmap-written file reported bad data\n");
49       return 1;
50     }
51   close (fd);
52
53   /* Done. */
54   printf ("(mmap-write) end\n");
55
56   return 0;
57 }