The program shown in Figure 4.22 uses the Pthreads API. What would be the output from the program at LINE C and LINE P? #include #include int value - 0; void *runner(void *param); /* the thread */ int main(int argc, char *argv []) { pid_t pid; pthread_t tid; pthread attr_t attr; pid - fork(); if (pid -- 0) { /* child process */ pthread attr_init(&attr); pthread_create (&tid,&attr,runner,NULL); pthread_join(tid,NULL); printf("CHILD: value = %d",value); /* LINE C */ else if (pid > 0) { /* parent process */ wait(NÜLL); printf("PARENT: value = %d",value); /* LINE P */ } void runner (void *param) { value - 5; pthread exit (0); } Figure 4.22 C program for Exercise 4.19.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
The program shown in Figure 4.22 uses the Pthreads API. What would be the output from the program at LINE C
and LINE P?
#include <pthread.h>
#include <stdio.h>
int value = 0;
void *runner(void *param); /* the thread */
int main(int argc, char *argv [])
pid_t pid;
pthread_t tid;
pthread attr_t attr;
pid = fork();
if (pid == 0) { /* child process */
pthread_attr.init(&attr);
pthread_create (&tid,&attr,runner,NULL);
pthread_join(tid,NULL);
printf("CHILD: value = %d",value); /* LINE C */
else if (pid > 0) { /* parent process */
wait (NULL);
printf("PARENT: value = %d",value); /* LINE P */
}
void *runner(void *param) {
value - 5;
pthread_exit(0);
Figure 4.22 C program for Exercise 4.19.
Transcribed Image Text:The program shown in Figure 4.22 uses the Pthreads API. What would be the output from the program at LINE C and LINE P? #include <pthread.h> #include <stdio.h> int value = 0; void *runner(void *param); /* the thread */ int main(int argc, char *argv []) pid_t pid; pthread_t tid; pthread attr_t attr; pid = fork(); if (pid == 0) { /* child process */ pthread_attr.init(&attr); pthread_create (&tid,&attr,runner,NULL); pthread_join(tid,NULL); printf("CHILD: value = %d",value); /* LINE C */ else if (pid > 0) { /* parent process */ wait (NULL); printf("PARENT: value = %d",value); /* LINE P */ } void *runner(void *param) { value - 5; pthread_exit(0); Figure 4.22 C program for Exercise 4.19.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 2 images

Blurred answer
Knowledge Booster
Avoiding deadlock
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education