X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=grading%2Fvm%2Fpage-merge-seq.c;h=306910d964875cea97cb882401bd8c3f9a1516d7;hb=059da604af2d69cf3a765df3d63db693edf51d3b;hp=3abe9e26726a0f189bd8022f19a85cea541abff5;hpb=c49ca891e62eb091e3c923a77bf2ea907d73220f;p=pintos-anon diff --git a/grading/vm/page-merge-seq.c b/grading/vm/page-merge-seq.c index 3abe9e2..306910d 100644 --- a/grading/vm/page-merge-seq.c +++ b/grading/vm/page-merge-seq.c @@ -3,8 +3,7 @@ #ifdef PINTOS #include #else -#include -#include +#include "posix-compat.h" #endif #include "arc4.h" @@ -37,9 +36,7 @@ sort (void) { size_t i; -#ifdef PINTOS create ("buffer", CHUNK_SIZE); -#endif for (i = 0; i < CHUNK_CNT; i++) { int fd; @@ -47,11 +44,8 @@ sort (void) printf ("(page-merge-seq) sort chunk %zu\n", i); /* Write this chunk to a file. */ -#ifdef PINTOS fd = open ("buffer"); -#else - fd = open ("buffer", O_WRONLY | O_CREAT, 0660); -#endif + if (fd < 0) { printf ("(page-merge-seq) open() failed\n"); @@ -61,28 +55,20 @@ sort (void) close (fd); /* Sort with subprocess. */ -#ifdef PINTOS - pid_t child = exec ("child-sort"); + pid_t child = exec ("child-sort buffer"); if (child == -1) { printf ("(page-merge-seq) exec() failed\n"); exit (1); } - if (join (child) != 0x123) + if (join (child) != 123) { printf ("(page-merge-seq) join(exec()) returned bad value\n"); exit (1); } -#else - system ("./child-sort"); -#endif /* Read chunk back from file. */ -#ifdef PINTOS fd = open ("buffer"); -#else - fd = open ("buffer", O_RDONLY); -#endif if (fd < 0) { printf ("(page-merge-seq) open() failed\n");