Computers and Technology, 22.09.2020 16:01 janayshas84
The following program is designed to echo a message from one child process to another, with upper and lowercase letter reversed. The program reliably outputs just the message "h" and then quits. Explain in a very clearly why this is the output. Suggest how the program could be corrected to produce the expected output.
#include
#include
#include
#include
#include
#include
int main()
{
int fd1[2];
int fd2[2];
char message[] = "Hello, world!\n";
char buffer[100];
pid_t pid1;
pid_t pid2;
if (pipe(fd1) == -1)
{ return 1;
}
if (pipe(fd2) == -1)
{ return 1;
}
pid1 = fork();
pid2 = fork();
if (pid1 < 0)
{ return 1;
}
if (pid2 < 0)
{ return 1;
}
if (pid1 > 0)
{
close(fd2[0]);
write(fd2[1], message, strlen(message)+1);
close(fd2[1]);
close(fd1[1]);
read(fd1[0], buffer, 100);
close(fd1[0]);
printf("%s", buffer);
}
else if (pid2 > 0) {
close(fd2[1]);
read(fd2[0], buffer, 100);
close(fd2[0]);
close(fd1[0]);
for (int i=0; i
if(islower(buffer[i])) {
buffer[i] = toupper(buffer[i]);
}
else {
buffer[i] = tolower(buffer[i]);
}
sleep(1);
write(fd1[1], &buffer[i], 1);
}
close(fd1[1]);
}
return 0;
}
Answers: 3
Computers and Technology, 23.06.2019 14:30
The basic work area of the computer is it screen that you when you first fire up your computer
Answers: 1
Computers and Technology, 24.06.2019 06:30
For which utilities, if any, does the landlord pay?
Answers: 2
Computers and Technology, 24.06.2019 12:00
An npn transistor is correctly biased and turned on if the a. base is negative. b. collector is negative. c. collector is positive with respect to the emitter and negative with respect to the base. d. collector is the most positive lead followed by the base.
Answers: 1
Computers and Technology, 24.06.2019 12:00
Which spreadsheet operation does a look function perform?
Answers: 1
The following program is designed to echo a message from one child process to another, with upper an...
Computers and Technology, 04.07.2019 21:20
Mathematics, 04.07.2019 21:30
Mathematics, 04.07.2019 21:30
History, 04.07.2019 21:30
Computers and Technology, 04.07.2019 21:30
Biology, 04.07.2019 21:30
Computers and Technology, 04.07.2019 21:30
Mathematics, 04.07.2019 21:30
Mathematics, 04.07.2019 21:30
Mathematics, 04.07.2019 21:30
Mathematics, 04.07.2019 21:30
Mathematics, 04.07.2019 21:30
History, 04.07.2019 21:30