Question: Fill in the blanks please. #include #include #include #include #include #include // Function ptototypes int readX(); void writeX(int); int main() { int pid; // pid:

Fill in the blanks please.

#include #include #include #include #include #include

// Function ptototypes int readX(); void writeX(int);

int main() { int pid; // pid: used to keep track of the child process int x = 19530; // x: our value as integer int i; // iterator

// output inital value to the screen printf("x = %d ", x);

// Write x to file ______;

// loop 5 times for( i = 0; i<5; i++) { // output the current loop iteration printf(" ITERATION %d ", i+1);

// flush here so that the stdout buffer doesn't // get printed in both processes fflush(stdout);

// fork child process if (________) { perror("Error with fork"); exit(1); }

// Child waits a second for the parent to go first else if (_____) { _____; }

// Both processes read x from file ______;

// Parent prints parent, and performs subraction if (____) { printf("Parent: "); ____; }

// Child prints child, and performs division else if (____) { printf("Child: "); ____; }

// Both processes output x value and write x to file... printf("x = %d ", x); ______;

// The child terminates if (____) { ____; } }

exit(0); }

/// Returns the value read from .shareX.dat int readX() { char xChar[10]; // xChar: our value as a char int fd; // fd: file descriptor

// open to read and store x if ( (fd = open(".shareX.dat", O_RDONLY )) == -1 ) { perror("Error opening file"); exit(2); }

// read xChar from the file if ( read(fd, xChar, 10) == -1 ) { perror("Error reading file"); exit(3); }

// close file for reading close(fd);

// convert xChar to int and return return atoi(xChar); }

/// Writes the writeX value to the file .shareX.dat void writeX(int writeX) { char xChar[10]; // xChar: our value as a char int fd; // fd: file descriptor int xBytes; // how much to write

// open, clear, and create file if not createdi if ( (fd = open(".shareX.dat", O_CREAT | O_TRUNC | O_WRONLY, 0644 )) == -1 ) { perror("Error opening file"); exit(4); }

// convert x to char xBytes = sprintf(xChar, "%d", writeX);

// put xChar in file if ( write(fd, xChar, xBytes) == -1 ) { perror("Error writing to file"); exit(5); }

// close the file for writing close(fd);

return; }

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!